128th LeetCode Weekly Contest Complement of Base 10 Integer
Every non-negative integer? The?complement?of a binary representation?is the number in binary you get when changing every? For a given number? ? Example 1: Input: 5
Output: 2 Explanation: 5 is "101" in binary,with complement "010" in binary,which is 2 in base-10.
Example 2: Input: 7
Output: 0 Explanation: 7 is "111" in binary,with complement "000" in binary,which is 0 in base-10.
Example 3: Input: 10
Output: 5 Explanation: 10 is "1010" in binary,with complement "0101" in binary,which is 5 in base-10.
? Note:
题意啥的去看看中文版的就好了。简单一点看看example 大佬的代码很短的 class Solution { public: int bitwiseComplement(int N) { int num[33] = {0}; int cnt = 0; int sum = 0; int flag = 1; if(N == 0){ return 1; } while(N){ int pos = N % 2; num[cnt++] = pos == 1 ? 0 : 1; N/=2; } for(int i = 0 ; i < cnt ; i++){ //cout<<num[i]<<endl; if(num[i] == 0){ sum += 0; }else{ sum += flag; } flag *= 2; } //cout<<endl; return sum; } }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |