aboutsummaryrefslogtreecommitdiff
path: root/other/concatenation_binary_num.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'other/concatenation_binary_num.cpp')
-rw-r--r--other/concatenation_binary_num.cpp38
1 files changed, 0 insertions, 38 deletions
diff --git a/other/concatenation_binary_num.cpp b/other/concatenation_binary_num.cpp
deleted file mode 100644
index b212c09..0000000
--- a/other/concatenation_binary_num.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-#include "leetcode.h"
-
-class Solution {
-public:
- int concatenatedBinary(int n) {
- string s = decimalToBinary(n);
- return binaryToDecimal(s);
- }
-
-private:
- int mod = 1000000007;
- string decimalToBinary(int n) {
- string str = "";
- for (int i = n; i >= 1; --i) {
- int j = i;
- while (j) {
- str += (j % 2) + '0';
- j /= 2;
- }
- }
- return str;
- }
- int binaryToDecimal(string n) {
- long long ans = 0, p = 1;
- for (int i = 0; i < n.size(); ++i) {
- long long curr = (n[i] - '0') * p;
- p *= 2;
- p %= mod;
- ans += curr;
- }
- return ans % mod;
- }
-};
-
-int main() {
- Solution obj;
- cout << obj.concatenatedBinary(3);
-}