当前位置: 首页 > news >正文

LeetCode|Day21|204. 计数质数|Python刷题笔记

LeetCode|Day21|204. 计数质数|Python刷题笔记

🗓️ 本文属于【LeetCode 简单题百日计划】系列
👉 点击查看系列总目录 >>


📌 题目简介

题号:204. 计数质数
难度:简单
题目链接:点击跳转


🧾 题目描述(简要)

统计所有小于非负整数 n 的质数的数量。

示例:

输入:n = 10
输出:4
解释:小于 10 的质数有 2, 3, 5, 7,共 4 个。

💡 解法:埃拉托色尼筛法(Sieve of Eratosthenes)

class Solution:def countPrimes(self, n: int) -> int:if n < 2:return 0is_prime = [True] * nis_prime[0] = is_prime[1] = Falsefor i in range(2, int(n ** 0.5) + 1):if is_prime[i]:for j in range(i * i, n, i):is_prime[j] = Falsereturn sum(is_prime)

🧠 我的理解

  • 从 2 开始筛选,每次将其倍数标记为非质数;
  • 用布尔数组记录每个数是否为质数;
  • 外层从 2~√n,内层从 i² 开始标记;
  • 时间复杂度 O(n log log n),非常高效的经典算法。

📌 基础语法复习:

  • int(n ** 0.5):取平方根;
  • sum(is_prime):统计布尔列表中 True 的个数;
  • 嵌套循环 + 素数筛选是算法基础知识。

📌 返回总目录:点我回目录

http://www.dtcms.com/a/290126.html

相关文章:

  • 【黑马SpringCloud微服务开发与实战】(四)微服务02
  • 随笔20250721 PostgreSQL实体类生成器
  • 【TVM 教程】TVM 代码库实例讲解
  • Spring AI 集成阿里云百炼与 RAG 知识库,实现专属智能助手(框架思路)
  • 若依前后端部署
  • Linux进程核心机制:状态、优先级与上下文切换详解
  • 基于Python flask的电影数据分析及可视化系统的设计与实现,可视化内容很丰富
  • 信息整合注意力IIA,通过双方向注意力机制重构空间位置信息,动态增强目标关键特征并抑制噪声
  • 文本数据分析
  • 数据分析的尽头是什么?是洞察,而非数字!
  • Car Kit重构车机开发体验,让车载应用开发驶入快车道
  • 分布式定时任务系列13:死循环是任务触发的银弹?
  • Mac上安装Claude Code的步骤
  • Python Locust库详解:从入门到分布式压力测试实战
  • 【web自动化】-5- fixture集中管理和项目重构
  • 2025最新版PyCharm for Mac统一版安装使用指南
  • Q10900H6迷你电脑:集成双10G+四2.5G网口,支持多系统网络部署
  • Python高效入门指南
  • 详解 @property 装饰器与模型数据类型检测
  • 7-Zip 曝出两个可导致拒绝服务的中危漏洞
  • Sklearn 机器学习 IRIS数据 理解分类报告
  • 使用八爪鱼爬虫抓取汽车网站数据,分析舆情数据
  • MySQL 事务详解:从基础原理到实战应用
  • MySQL配置性能优化赛
  • 第三章自定义检视面板_创建自定义编辑器类_编扩展默认组件的显示面板(本章进度3/9)
  • JQuery Easyui引入easyui-lang-zh_CN.js后出现乱码的问题解决方法
  • ruoyi-flowable-plus Excel 导入数据 Demo
  • 微软CEO Satya Nadella提出AI重构法则:从范式跃迁到社会盈余
  • DeepSeek vs ChatGPT:谁更胜一筹?
  • 添加状态信息