Advertisement

算法-Java计算int二进制中的1的数量(Java面试题及答案)

阅读量:

【为便于输出该二进制数值,本题将String字符串转换为StringBuffer对象sb,通过调用sb的reverse()方法即可实现二进制数的逆序输出。

3.reverse()方法的功能是实现字符串的逆序排列,至于为何需要进行反转操作,具体原因可参考除二取余法的相关内容。

例如:当输入数值为14时,s中依次存储的是0111,通过调用b.reverse().toString()方法即可得到1110的输出结果。

三.算法分析:


该算法的时间复杂度为O(n),而额外的空间复杂度则为O(1)

代码实现如下


import java.util.*;

public class Solution {

/**

计算整型数值对应的二进制表示中1的数量

@param n int类型 数字

@return int类型 数量

*/

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int n = in.nextInt();

int result = countBit(n);

System.out.println(result);

}

public static int countBit(int n) {

// writ

全部评论 (0)

还没有任何评论哟~