博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode.762. 二进制中表示质数个计数位
阅读量:3951 次
发布时间:2019-05-24

本文共 897 字,大约阅读时间需要 2 分钟。

Difficulty: 简单

给定两个整数 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 不是质数)

注意:

  1. L, R 是 L <= R 且在 [1, 10^6] 中的整数。
  2. R - L 的最大值为 10000。

Solution

Language: ****

class Solution {
public: int countPrimeSetBits(int L, int R) {
unordered_set
_primes({
2,3,5,7,11,13,17,19}); int res =0; for (int i=L; i<=R;++i) {
int s =0; for(int k=i;k; k>>=1) s += k&1; if(_primes.count(s)) {
res++; } } return res; }};

转载地址:http://qyyzi.baihongyu.com/

你可能感兴趣的文章
如何运用Python建一个聊天机器人?
查看>>
用Python从零开始创建区块链
查看>>
【收红包】最新最全!春节抢红包攻略:又到参与几个亿项目的时候了…
查看>>
从数据分析的角度看旅行青蛙还可以这么玩。。。
查看>>
人民日报:让中国大数据跑起来!
查看>>
百度地图大数据告诉你一线城市真相
查看>>
大数据 勾勒中国人“的亲情地图”!
查看>>
500款各领域机器学习数据集,总有一个是你要找的
查看>>
大数据读心术丨这15条数据统计准爆了!
查看>>
大数据预测报告:2018年春节长假居民最喜欢去这些地方
查看>>
Python资源大全,让你相见恨晚的Python库!
查看>>
趣图:有时候我写的代码,就是这样子的
查看>>
大数据读心术丨这15条数据统计准爆了!
查看>>
Python资源大全,让你相见恨晚的Python库!
查看>>
500款各领域机器学习数据集,总有一个是你要找的
查看>>
收藏 | Linux常用156个命令汇总!
查看>>
十张图看懂未来大数据世界
查看>>
重磅!阿里开源AI核心技术,95%算法工程师受用
查看>>
"巧"仿蚂蚁森林水滴动效
查看>>
用算法撩妹都不会,别跟我说你是程序员
查看>>