leetcode204
public class Solution {
public int CountPrimes(int n) {
if (n <= )
{
return ;
}
long[] prime = new long[n + ];
bool[] mark = new bool[n + ];
int primeSize = ;
for (int i = ; i < n; i++)
{
mark[i] = false;
}
for (long i = ; i < n; i++)
{
if (mark[i] == true)
{
continue;
}
prime[primeSize++] = i;
for (long j = i * i; j <= n; j += i)
{
mark[j] = true;
}
}
return primeSize;
}
}
https://leetcode.com/problems/count-primes/#/description
这道题目是意思是,计算比n小的非负数中有多少素数。
例如:
n = 7,素数有2,3,5(不包含7)一共3个
n = 8,素数有2,3,5,7一共4个
使用素数筛法可以提高效率。
python的实现如下:
class Solution:
def countPrimes(self, n: int) -> int:
nfilter = [False] * n
count =
for i in range(,n):
if nfilter[i]:
continue
count +=
k = i + i
while k < n:
nfilter[k] = True
k += i
return count
leetcode204的更多相关文章
- LeetCode----204. Count Primes(Java)
package countPrimes204; /* * Description: * Count the number of prime numbers less than a non-negati ...
- LeetCode204:Count Primes
Description: Count the number of prime numbers less than a non-negative number, n. 比计算少n中素数的个数. 素数又称 ...
- [Swift]LeetCode204. 计数质数 | Count Primes
Count the number of prime numbers less than a non-negative number, n. Example: Input: 10 Output: 4 E ...
- 求素数个数的优化-LeetCode204
问题 计数质数 统计所有小于非负整数 n 的质数的数量. 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 . 第一种解法容易想到但是会 超时 ...
随机推荐
- vue全家桶实现笔记本功能
一个通过vue实现的练手小项目,数据保存和导出通过node进行处理 成品截图: 安装vue-cli,webpack: cnpm install webpack -g cnpm install vue- ...
- iOS导航栏的正确隐藏方式
在项目中经常碰到首页顶部是无限轮播,需要靠最上面显示.有的设置导航栏为透明等一系列的方法,这个可以借助第三方.或者干脆简单粗暴的直接隐藏掉导航栏.可是push到下一个页面的时候是需要导航栏的,如何做了 ...
- SQL Server 创建角色和账号
/*--示例说明 示例在数据库pubs中创建一个拥有表jobs的所有权限.拥有表titles的SELECT权限的角色r_test 随后创建了一个登录l_test,然后在数据库p ...
- 让IE兼容console——“由于出现错误80020101而导致此项操作无法完成”的解决方案
问题描述 经测试发现问题只出现在: 1.原生IE8(其他版本IE模拟出的IE8无此问题) 2.从打开IE8没有开启过F12(曾经开启过又关闭的无此问题) IE8报错“由于出现错误80020101而导致 ...
- 面试题总结(一)、TCP协议
声明:本文主要探讨当TCP协议出现在面试笔试场合可能会涉及的问题,每一个知识点讨论力求简洁,便于记忆,但讨论深度有限,如要深入研究可点击参考链接,希望对正在找工作的同学有点帮助. 一.TCP协议简介 ...
- DDMS介绍
DDMS全称:Dalvik Debug Monitor Service 一,DDMS的作用 它提供了截屏.查看线程和堆信息.logcat.进程.广播状态信息.模拟来电呼叫和短信.虚拟地理坐标等等. 二 ...
- java面试Linux常用命令使用方法大全
1.# 表示权限用户(如:root),$ 表示普通用户 开机提示:Login:输入用户名 password:输入口令 用户是系统注册用户成功登陆后,可以进入相应的用户环境. 退出当前s ...
- windows 不能在本地计算机启动SqlServer. 参考特定服务错误代码10048
这一般都是由于Sql Server的端口号被其他应用程序占用导致的,可以使用dos命令或者网络工具查看当前端口的使用情况,看看哪个程序占用了Sql Server的默认端口1433,将这个程序结束就可以 ...
- UML drawing tools
1. tools based on the script http://www.websequencediagrams.com/ UMLet 12.1 My best two recommendati ...
- oracle12c之 表空间维护总结
1.1.创建永久表空间 In the CDB:SQL> CONNECT system@cdb1SQL> CREATE TABLESPACE cdb_users DATAFILE'/home ...