题解 | #提取不重复的整数#

求int型正整数在内存中存储时1的个数

http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        String str = Integer.toBinaryString(num);
        int length = str.length();
        String newStr = str.replaceAll("1", "");
        System.out.println(length - newStr.length());
    }
}

先把十进制数字转成二进制数字的字符串,再将字符串中的“1”全部替换为空,再让替换前字符串的长度减去替换后字符串的长度就是1的个数
全部评论
直接replaceAll 0 ,然后新的字符串长度就是了
13
送花
回复
分享
发布于 2022-03-20 14:52
replaceAll 性能低,replace
1
送花
回复
分享
发布于 2022-05-20 00:24
秋招专场
校招火热招聘中
官网直投

相关推荐

131 6 评论
分享
牛客网
牛客企业服务