zoukankan      html  css  js  c++  java
  • LeetCode_476. Number Complement

    476. Number Complement

    Easy

    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.

    Example 1:

    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.
    

    Example 2:

    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.
    package leetcode.easy;
    
    public class NumberComplement {
    	public int findComplement(int num) {
    		int complement = 0;
    		int pos = 0;
    		while (num > 0) {
    			if ((num & 1) == 0) {
    				complement |= (1 << pos);
    			}
    
    			pos++;
    			num >>>= 1;
    		}
    
    		return complement;
    	}
    
    	@org.junit.Test
    	public void test() {
    		System.out.println(findComplement(5));
    		System.out.println(findComplement(1));
    	}
    }
    
  • 相关阅读:
    HDU-2602-Bone Collector
    HDU-1171-Big Event in HDU
    javascript概要
    核桃的数量
    P3372 【模板】线段树 1
    P3373 【模板】线段树 2
    拿糖果
    第二点五个不高兴的小明
    树的直径
    1240. 完全二叉树的权值
  • 原文地址:https://www.cnblogs.com/denggelin/p/12029740.html
Copyright © 2011-2022 走看看