476. Number Complement--數量補語

Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.

Note:

  1. The given integer is guaranteed to fit within the range of a 32-bit signed integer.
  2. You could assume no leading zero bit in the integer’s binary representation.


給定一個正整數,輸出其補數。互補策略是翻轉的二進制表示的位。

筆記

  1. 給定的整數是保證符合一個32位有符號整數範圍。
  2. 你可以假定沒有前導零位的整數的二進制表示。
example1
Input: 5
Output: 2
Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need to output 2.

example2
Input: 1
Output: 0
Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need to output 0.

solution:
public class Solution {
    public int findComplement(int num) 
    {
        int i = 0;
        int j = 0;
        
        while (i < num)
        {
            i += Math.pow(2, j);
            j++;
        }
        
        return i - num;
    }
}


while (i < num) //求出與num相同位數的最大數。
        {
            i += Math.pow(2, j);
            j++;
        }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章