mycode     time limited

  1. class Solution(object):
  2. def countPrimes(self, n):
  3. """
  4. :type n: int
  5. :rtype: int
  6. """
  7. if n < 3: return 0
  8.  
  9. def is_primes(x):
  10. for i in range(2,x):
  11. if x % i == 0:
  12. return False
  13. return True
  14.  
  15. count = 0
  16.  
  17. for i in range(2,n):
  18. if is_primes(i) :
  19. print(i)
  20. count += 1
  21. return count

参考

1

  1. class Solution(object):
  2. def countPrimes(self, n):
  3. """
  4. :type n: int
  5. :rtype: int
  6. """
  7. if n <= 2:
  8. return 0
  9.  
  10. prime = [1] * n
  11. prime[0] = prime[1] = 0
  12.  
  13. for index in range(2, n):
  14. if prime[index] == 1:
  15. time = 2
  16. while index * time < n:
  17. prime[index * time] = 0
  18. time += 1
  19.  
  20. return sum(prime)

2

  1. class Solution:
  2. def countPrimes(self, n: int) -> int:
  3. if n < 2: return 0
  4.  
  5. prime = [1]*n
  6.  
  7. for i in range(2,int(n*0.5)+1):
  8. prime[i*i:n:i] = [0] * len(prime[i*i:n:i])
  9.  
  10. return sum(prime)-2 #-2 because 0 and 1 is not a prime number

更快优化

  1. import math
  2.  
  3. class Solution(object):
  4. def countPrimes(self, n):
  5. """
  6. :type n: int
  7. :rtype: int
  8. """
  9.  
  10. if n < 2:
  11. return 0
  12. s = [1] * n
  13. s[0] = s[1] = 0
  14. for i in range(2, int(n ** 0.5) + 1):
  15. if s[i] == 1:
  16. s[i*i:n:i] = [0] * int((n-i*i-1)/i + 1)
  17. return sum(s)

time limited

  1. class Solution(object):
  2. def countPrimes(self, n):
  3. """
  4. :type n: int
  5. :rtype: int
  6. """
  7. count = 0
  8. for i in range(2,n):
  9. count += self.isPrime(i)
  10. return count
  11.  
  12. def isPrime(self,x):
  13. x_= int(x**0.5+1)
  14. for i in range(2,x_):
  15. if x % i == 0:
  16. return 0
  17. return 1

leetcode-easy-math-204 Count Primes-NO的更多相关文章

  1. 【leetcode❤python】 204. Count Primes

    #-*- coding: UTF-8 -*- #Hint1:#数字i,i的倍数一定不是质数,因此去掉i的倍数,例如5,5*1,5*2,5*3,5*4,5*5都不是质数,应该去掉#5*1,5*2,5*3 ...

  2. &lt;LeetCode OJ&gt; 204. Count Primes

    Description: Count the number of prime numbers less than a non-negative number, n. 分析: 思路首先:一个数不是合数就 ...

  3. [leetcode] 204. Count Primes 统计小于非负整数n的素数的个数

    题目大意 https://leetcode.com/problems/count-primes/description/ 204. Count Primes Count the number of p ...

  4. leetcode 263. Ugly Number 、264. Ugly Number II 、313. Super Ugly Number 、204. Count Primes

    263. Ugly Number 注意:1.小于等于0都不属于丑数 2.while循环的判断不是num >= 0, 而是能被2 .3.5整除,即能被整除才去除这些数 class Solution ...

  5. 204. Count Primes - LeetCode

    Queston 204. Count Primes Solution 题目大意:给一个数,求小于这个数的素数的个数 思路:初始化一个boolean数组,初始设置为true,先遍历将2的倍数设置为fal ...

  6. 【LeetCode】 204. Count Primes 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 素数筛法 参考资料 日期 [LeetCode] 题目 ...

  7. 【刷题-LeetCode】204. Count Primes

    Count Primes Count the number of prime numbers less than a non-negative number, *n*. Example: Input: ...

  8. (easy)LeetCode 204.Count Primes

    Description: Count the number of prime numbers less than a non-negative number, n. Credits:Special t ...

  9. [LeetCode] 204. Count Primes 质数的个数

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

  10. 【LeetCode】204 - Count Primes

    Description:Count the number of prime numbers less than a non-negative number, n. Hint: Let's start ...

随机推荐

  1. 封装H5ToApp方法

    方法一: 新建个 Android studio 项目,用 webview 指定访问你的页面 方法二: 使用工具 cordova  附上地址:http://cordova.axuer.com/docs/ ...

  2. jq上滑加载更多

    html 结构 <div id="main"> <ul class="order-list" id="list_box"& ...

  3. linux CUDA安装

    首先是安装依赖库 sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-m ...

  4. 多线程编程-- part5 锁的种类以及辨析

    java中的锁,可以分为同步锁和JUC包中的锁. 同步锁 通过synchronized关键字进行同步,实现对竞争资源的互斥访问的锁,. 原理:对于每一个对象,有且只有一个同步锁,在同一时间点,所有的线 ...

  5. cassandra分页

    在cassandra的协议中,没有具体规定查询结果的行数限制.但是对于大的数据集,依然有结果分页的必要.过大的结果集会爆掉服务端或者客户端的内存. 传统的分页方法采用了一点trick,采用了token ...

  6. shell 脚本中的入参获取与判断

    1.获取shell脚本的入参个数: $# 2.获取shell脚本的第n个入参的字符个数/字符串长度(注意这里的n需要替换为具体的数字,如果这个数字超过实际的入参个数,结果为0): ${#n}

  7. 10.1、LNMT架构

      Java环境安装包下载路径: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...

  8. 8、linux权限-特殊权限

    特殊权限: 1.setuid setuid: 让普通用户能够临时的拥有命令的属主权限,完成一些特殊的操作. suid的授权: chmod u+s chmod u-s chmod 4755 4代表是特殊 ...

  9. struts2与SpringMVC区别

    1.springmvc基于方法开发的,struts2基于类开发的. 2.单例和多例的区别:springmvc在映射的时候,通过形参来接收参数的,是将url和controller方法映射,映射成功后,s ...

  10. 第二章 Vue快速入门-- 15 vue中通过属性绑定为元素设置class类样式

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