Leetcode 204. 计数质数 java题解
https://leetcode.cn/problems/count-primes/description/
法一

class Solution {public int countPrimes(int n) {int count=0;for(int i=2;i<n;i++){//判断i是否质数boolean f=true;for(int j=1;j*j<=i;j++){//因子if(j!=1&&j!=i&&(i%j==0)){f=false;break;}}if(f){count++;}}return count;}
}
//质数:因子只有1和自己
会超时
法二:埃氏筛
数学方法
想象有一个数x,他是质数,但是他的倍数2x,…,kx(x是他的一个因子)一定不是质数。可以对这些倍数进行标记,标记为非质数,后续不再进行判断。
对于一个质数 x,如果按上文说的我们从 2x 开始标记其实是冗余的,应该直接从 x⋅x 开始标记,因为 2x,3*x,… 这些数一定在之前就被其他数的倍数标记过了,例如 2 的所有倍数,3 的所有倍数等。
比如(x-1)x,必然已经被(x-1)标记过所有的倍数,因为x-1排在x之前遍历到。
所以对于x的倍数遍历,应该从xx开始。
class Solution {public int countPrimes(int n) {int[] nums=new int[n];//0是,1不是int count=0;for(int i=2;i<n;i++){if(nums[i]==0){//是质数count++;//这里必须类型转换if((long)i*i<n){//i平方还在范围内for(int j=i*i;j<n;j=j+i){nums[j]=1;//非 质数}}}}return count;}
}
相关文章:
Leetcode 204. 计数质数 java题解
https://leetcode.cn/problems/count-primes/description/ 法一 class Solution {public int countPrimes(int n) {int count0;for(int i2;i<n;i){//判断i是否质数boolean ftrue;for(int j1;j*j<i;j){//因子if(j!1&&j!i&&(i%j0)){ffalse;break;}}if(f){…...
机器学习——终身学习
终身学习 AI不断学习新的任务,最终进化成天网控制人类终身学习(LLL),持续学习,永不停止的学习,增量学习 用线上收集的资料不断的训练模型 问题就是对之前的任务进行遗忘,在之前的任务上表现不好…...
一次完整的 HTTP 请求所经历的步骤
1: DNS 解析(通过访问的域名找出其 IP 地址,递归搜索)。 2: HTTP 请求,当输入一个请求时,建立一个 Socket 连接发起 TCP的 3 次握手。如果是 HTTPS 请求,会略微有不同。 3: 客户端向服务器发…...
OpenGL学习笔记【1】——简介
一、OpenGL概念 OpenGL (Open Graphics Library,译名:开放式图形库开放式图形库) 是一种用于渲染 2D 和 3D 图形的跨语言、跨平台的编程接口(API)。 二、OpenGL跨语言 OpenGL 是一个 C 语言库,因此理解 C 语言(或 C)的…...
C语言课后作业 20 题+考研上机应用题
题目 1: 计算圆的面积 描述: 输入圆的半径,计算并输出圆的面积。 题目 2: 判断一个年份是否为闰年 描述: 输入一个年份,判断并输出该年份是否为闰年。 题目 3: 计算并输出斐波那契数列的前10个数 描述: 输出斐波那…...
macOS上基于httpd-dav搭建WebDav服务
文章目录 配置 Apache httpd修改 ServerName启动验证 httpd 服务启用 Dav 扩展服务配置 配置 httpd 扩展 Dav 服务设置共享目录文件夹配置 DavLockDB 目录创建 WebDAV 访客用户 httpd-dav.conf 主要改动部分BasicDigest共享多个目录 授予 httpd 完全磁盘访问权限验证更新配置重…...
Java-设计模式-单例模式
单例模式 从单例加载的时机区分,有懒汉模式/饥饿模式。 从实现方式区分有双重检查模式,内部类模式/Enum模式/Map模式等。在《Effective Java》中,作者提出利用Enum时实现单例模式的最佳实践。 内容概要 实现单例模式的几个关键点 利用Enu…...
图片html5提供的懒加载与vue-lazyload的区别
原生HTML lazy loading特性 <img src"/images/ocean.jpeg" alt"Ocean" loading"lazy"> loading"lazy" 是HTML5的一个原生特性,它允许浏览器延迟加载图片直至图片距离视口很近或者即将进入视口时。这是一种由浏览器…...
golang 根据某个特定字段对结构体的顺序进行排序
文章目录 方法一方法二方法三 在Go语言中,我们可以使用 sort.Slice() 函数对结构体进行排序。假设你有一个结构体,并且希望根据其中的某个字段进行排序,你可以使用自定义的排序函数。 方法一 下面是一个示例代码,假设有一个包含…...
React Router 参数使用详解
React Router 参数使用详解 React Router 是 React 中用于处理路由的常用库,它提供了丰富的功能来管理应用程序的导航和路由状态。在 React Router 中,我们经常需要使用不同类型的参数来处理路由信息,包括 params 参数、search 参数和 state…...
Vue中$set用法解析
当一个 Vue 实例被创建时,它向 Vue 的响应式系统中加入了其 data 对象中能找到的所有的属性。当这些属性的值发生改变时,视图将会产生“响应”,即匹配更新为新的值,但是遇到以下情况不会进行数据的双向绑定。 当你利用索引直接改…...
进制,码制及其表示范围
一 进制 1 常见的进制及其简写 十进制(Dec)二进制(Binary)十六进制(Hex)八进制(Octal) 2 进制之间的相互转换 二 码制 1 常用的码制 三 各码制在定点整数时表示的范围 个人推导…...
钡铼技术R40工业4G路由器加速推进农田水利设施智能化
钡铼技术R40工业4G路由器作为一种先进的通信设备,正在被广泛应用于各行各业,其中包括农田水利设施的智能化改造。通过结合钡铼技术R40工业4G路由器,农田水利设施可以实现更高效的管理和运营,提升农田灌溉、排水等工作效率…...
基于龙芯2k1000 mips架构ddr调试心得(一)
1、基础知识 DDR2的I/O频率是DDR的2倍,也就是266、333、400MHz。 DDR3传输速率介于 800~1600 MT/s之间 DDR4的传输速率目前可达2133~3200 MT/s 2k1000内存:板载2GB DDR3 ,可选4GB 使用龙芯芯片最好用他们自己的Bo…...
智能合约语言(eDSL)—— 使用rust实现eDSL的原理
为理解rust变成eDSL的实现原理,我们需要简单了解元编程与宏的概念,元编程被描述成一种计算机程序可以将代码看待成数据的能力,使用元编程技术编写的程序能够像普通程序在运行时更新、替换变量那样操作更新、替换代码。宏在 Rust 语言中是一种功能&#x…...
敏捷开发——elementUI/Vue使用/服务器部署
1. 创建vue项目 2. 安装element-ui组件库 npm i -S element-ui或 npm install element-ui3. 在main.js中导入element-ui组件 import ElementUI from element-ui import element-ui/lib/theme-chalk/index.css Vue.use(ElementUI)element-ui 组件库地址:Element …...
uniapp 使用sqlite时无法读取到db文件中的数据
问题 {“code”:-1404,“message”:“android.database.sqlite.SQLiteException: no such table: user (Sqlite code 1): , while compiling: select * from user, (OS error - 2:No such file or directory),http://ask.dcloud.net.cn/article/282”} at pages/index/index.vu…...
Linux 网络接口管理
为了更深入的了解linux系统,为此做出网络接口管理的知识总结。看起来麻烦,其实一点都不难,相信多看多了解总会是没错的!❤️❤️ 一起加油吧!✨✨🎉🎉 文章目录 前言一、网络配置的文件介绍二、…...
【设计模式】Java 设计模式之模板策略模式(Strategy)
策略模式详解:模式结构、实现与应用场景 一、策略模式概述 策略模式是一种行为设计模式,它使得算法可以独立于使用它的客户端变化。策略模式使得算法可以在运行时切换,从而增强了系统的灵活性和可维护性。在策略模式中,我们定义…...
SpringBoot项目前端Vue访问后端(图片静态资源) 配置
静态资源配置 Configuration public class WebMvcConfig extends WebMvcConfigurationSupport {Value("${file.save-path}")private String fileSavePath;Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {//映射本地文件夹registry…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
webpack面试题
面试题:webpack介绍和简单使用 一、webpack(模块化打包工具)1. webpack是把项目当作一个整体,通过给定的一个主文件,webpack将从这个主文件开始找到你项目当中的所有依赖文件,使用loaders来处理它们&#x…...
