Java | Leetcode Java题解之第204题计数质数

题目:

题解:

java 复制代码
class Solution {
    public int countPrimes(int n) {
        List<Integer> primes = new ArrayList<Integer>();
        int[] isPrime = new int[n];
        Arrays.fill(isPrime, 1);
        for (int i = 2; i < n; ++i) {
            if (isPrime[i] == 1) {
                primes.add(i);
            }
            for (int j = 0; j < primes.size() && i * primes.get(j) < n; ++j) {
                isPrime[i * primes.get(j)] = 0;
                if (i % primes.get(j) == 0) {
                    break;
                }
            }
        }
        return primes.size();
    }
}
相关推荐
CodeStats7 分钟前
【Java类加载器】Java 类加载器完整体系深度拆解(下):自定义加载器实战与 SPI 破坏双亲委派(MySQL 驱动揭秘)
java·开发语言·jvm·classloader·双亲委派
dishugj10 分钟前
操作系统四大特征|软考架构师考点梳理
java·linux·服务器
砚底藏山河18 分钟前
并发与限频工程:把20只的2秒压到0.5秒不封号(魔码量化实战 #03)
java·开发语言·数据库·python·金融
ly768919 分钟前
Spring WebFlux背压机制在生产环境的调优与陷阱
java·spring·microsoft·webflux·project reactor·背压·响应式流
橘子汽水16828 分钟前
Leetcode 200,994岛屿数量,腐烂的橘子
数据结构·算法·leetcode
云雀衔光31 分钟前
MCP 协议全景:为什么它是 AI 连接工具的「USB-C」
java·开发语言·数据库·人工智能·ai编程
ly768936 分钟前
Spring 异步编程的隐藏风险:@Async 线程池耗尽与异常处理详解
java·后端·spring·异常处理·线程池·任务拒绝
用户81818706274640 分钟前
第23章 热点Key问题排查与解决:大促场景经典坑
java·后端
IT枫斗者枫哥1 小时前
Java 接口超时后,重试为什么会多建一条任务?
java
用户3126874877201 小时前
CAS 到底是怎么保证原子性的?从 Unsafe 到 VarHandle 的演进
java