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的更多相关文章

  1. LeetCode----204. Count Primes(Java)

    package countPrimes204; /* * Description: * Count the number of prime numbers less than a non-negati ...

  2. LeetCode204:Count Primes

    Description: Count the number of prime numbers less than a non-negative number, n. 比计算少n中素数的个数. 素数又称 ...

  3. [Swift]LeetCode204. 计数质数 | Count Primes

    Count the number of prime numbers less than a non-negative number, n. Example: Input: 10 Output: 4 E ...

  4. 求素数个数的优化-LeetCode204

    问题 计数质数 统计所有小于非负整数 n 的质数的数量. 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 . 第一种解法容易想到但是会 超时 ...

随机推荐

  1. html中用变量作为django字典的键值

    若字典为dic={'name': Barbie, 'age': 20},则在html中dic.name为Barbie,dic.age为20. 但若字典为dic={'Barbie': 1, 'Roger ...

  2. 048——VUE中使用animate.css动画库控制vue.js过渡效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. JS获取当前时间到30天之后的日期区间

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 16Aspx源码论坛

    16Aspx源码论坛: http://bbs.16aspx.com/index.aspx

  5. 高并发数据采集的架构应用(Redis的应用)

    问题的出发点:       最近公司为了发展需要,要扩大对用户的信息采集,每个用户的采集量估计约3W.如果用户量增加的话,将会大量照成采集量成3W倍的增长,但是又要满足日常业务需要,特别是报表数据必要 ...

  6. andorid 反编译

    1. 字节码文件转java文件 smali2java是一个将smali代码反编译成java代码的工具.什么是smali?smali是将Android字节码用可阅读的字符串形式表现出来的一种语言,可以称 ...

  7. 201621123010《Java程序设计》第7周学习总结

    1. 本周学习总结 1.1思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最重要的几个关键词. addActionListener(new Actio ...

  8. js在一定时间内跳转页面及各种页面刷新

    1.js 代码: <SCRIPT LANGUAGE="JavaScript"> var time = 5; //时间,秒 var timelong = 0; funct ...

  9. protel99 se中出现许多Backup of 文件,修改过保存时,总会出现备份文件,怎么才能取消这一设置?

    在file选项左边有个向下的大箭头标示 点开 有个prefereces项 点开之 把create backup项勾掉即可

  10. CS231n课程笔记翻译6:神经网络笔记 part1

    译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Neural Nets notes 1,课程教师Andrej Karpathy授权翻译.本篇教程由杜客翻译完成,巩子嘉和堃堃进行校对修改.译文含 ...