Java实现 LeetCode 762 二进制表示中质数个计算置位(位运算+JDK的方法)
2023-09-14 08:58:02 时间
762. 二进制表示中质数个计算置位
给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。
(注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。)
示例 1:
输入: L = 6, R = 10
输出: 4
解释:
6 -> 110 (2 个计算置位,2 是质数)
7 -> 111 (3 个计算置位,3 是质数)
9 -> 1001 (2 个计算置位,2 是质数)
10-> 1010 (2 个计算置位,2 是质数)
示例 2:
输入: L = 10, R = 15
输出: 5
解释:
10 -> 1010 (2 个计算置位, 2 是质数)
11 -> 1011 (3 个计算置位, 3 是质数)
12 -> 1100 (2 个计算置位, 2 是质数)
13 -> 1101 (3 个计算置位, 3 是质数)
14 -> 1110 (3 个计算置位, 3 是质数)
15 -> 1111 (4 个计算置位, 4 不是质数)
注意:
L, R 是 L <= R 且在 [1, 10^6] 中的整数。
R - L 的最大值为 10000。
class Solution {
public int countPrimeSetBits(int L, int R) {
int[] primes = {0,0,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1};
int res=0;
for(int i=L;i<=R;i++){
int t =Integer.bitCount(i);
res=res+primes[t];
}
return res;
}
}
相关文章
- Spring Boot发生java.lang.AbstractMethodError解决方案
- 菜鸟教程java_JAVA笔记(菜鸟教程)[通俗易懂]
- java传真发送,用Java发送传真解决之道
- java motherfree video_Java Config 下的Spring Test方式
- java中static关键字的作用_Java:Java中static关键字作用
- 【leetcode速通java版】01——数组入门
- java创建线程池的几种方式_Java中的线程池
- JAVA外文参考文献_java参考文献近五年
- Java中字符串对象的大闸蟹
- 6-4 字符串加密(Java解法,两种网上的类型题)
- java中的包装类
- java并发编程(2):Java多线程-java.util.concurrent高级工具
- java发送http的get、post请求详解编程语言
- Java从网上下载文件的代码详解编程语言
- 深入Java:利用API快速创建MySQL表(java创建mysql表)
- Linux配置多版本JDK实现多版本Java切换(linux多个jdk)
- Linux下快速编写高效的Java代码(linux写java)
- 数据库Java查询Oracle数据库:一种快捷、可靠的解决方案(java查询oracle)
- Java操作Redis实现超时处理(redisjava过期)
- Oracle公司正式发布新版JDK,构建强大的Java开发新世界(oracle公司jdk)
- weblogic8.1下重新编译java类但不用重启服务器的方法