算法刷题常用方法

📑前言

本文主要是【java】——算法刷题常用方法的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • 1.最大公约数gcd
    • 2.唯一分解定理
    • 3.欧拉筛
    • 4.单调队列实现滑动窗口
    • 5.数组前缀和
    • 📑文章末尾

1.最大公约数gcd

package 蓝桥杯练习;import java.util.Scanner;public class 最大公约数 {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int a = sc.nextInt();int b = sc.nextInt();System.out.println(gcd(a, b));System.out.println(a*b/gcd(a, b));}public static int gcd(int a,int b) {return b==0?a:gcd(b, a%b);}}

2.唯一分解定理

package 蓝桥杯练习;import java.util.Scanner;public class 唯一分解定理 {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);while(sc.hasNext()) {int n = sc.nextInt();System.out.println(syz(n));}}public static int syz(int n) {int cnt = 1;int bak = n;for(int i=2;i*i<=n;i++) {int num = 0;while(bak%i==0) {num++;bak/=i;}cnt = cnt*(num+1);}if (bak > 1) {cnt++;}return cnt;}}

3.欧拉筛

package 蓝桥杯练习;public class 欧拉筛 {public static void main(String[] args) {// TODO Auto-generated method stubint N = 1000;int prime[] = new int[N];boolean isp[] = new boolean[N+5];int count = 0;for(int i=2;i<=N;i++) {if(isp[i]==false) prime[count++]=i;for(int j=0;j<count&&prime[j]*i<=N;j++) {isp[i*prime[j]]=true;//素数的i倍一定是合数if(i%prime[j]==0) break;}}for(int i=0;i<count;i++) {System.out.println(prime[i]);}System.out.println("共有"+count+"个素数");}}

4.单调队列实现滑动窗口

package 蓝桥杯练习;import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Scanner;public class 单调队列实现滑动窗口1 {/*
8 3
1 3 4 7 6 2 5 1*/public static void main(String[] args) {// TODO Auto-generated method stub/** 长度为n的数组 长度为m的窗口,求数组中每个长度为m的窗口中的最大值* * n=8 m = 3* 1 3 4 7 6 2 5 1*/Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int a[] = new int[n];for(int i=0;i<n;i++) {a[i] = sc.nextInt();}Deque<Integer> q = new ArrayDeque<>();for(int i=0;i<n;i++) {//保证队头元素一定是在窗口的 i-3+1while(!q.isEmpty()&&q.peekFirst()<i-m+1) q.pollFirst();while(!q.isEmpty()&&a[q.peekLast()]<a[i]) q.pollLast();q.addLast(i);if (i>=m-1) {System.out.println(a[q.peekFirst()]);}}}}

5.数组前缀和

package 蓝桥杯练习;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;public class 数组前缀和 {
/*
5
1 2 3 4 5*/public static void main(String[] args) throws IOException {// TODO Auto-generated method stubStreamTokenizer sc = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));sc.nextToken();int n = (int)sc.nval;int a[] = new int[n+1];long sum[] = new long[n+1];for(int i=1;i<=n;i++) {sc.nextToken();a[i] = (int)sc.nval;}for(int i=1;i<=n;i++) {sum[i]=a[i]+sum[i-1];}for(int i=1;i<=n;i++) {System.out.println(sum[i]);}}}

📑文章末尾

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/611920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言程序设计考试掌握这些题妥妥拿绩点(写给即将C语言考试的小猿猴们)

目录 开篇说两句1. 水仙花数题目描述分析代码示例 2. 斐波那契数列题目描述分析代码示例 3. 猴子吃桃问题题目描述分析代码示例 4. 物体自由落地题目描述分析代码示例 5. 矩阵对角线元素之和题目描述分析代码示例 6. 求素数题目描述分析代码示例 7. 最大公约数和最小公倍数题目…

代码随想录算法训练营Day24|回溯算法理论基础、第77题. 组合

目录 回溯算法理论基础 理论基础 回溯法解决的问题 回溯法理解 回溯模板 第77题. 组合 前言 算法实现 剪枝优化 总结 回溯算法理论基础 理论基础 在二叉树中已经提到了回溯的概念&#xff0c;回溯是递归的副产品&#xff0c;也叫回溯搜索法&#xff0c;是一种搜索方…

linux磁盘清理_docker/overlay2爆满

问题&#xff1a;无意间发现linux服务器登陆有问题&#xff0c;使用df命令发现目录满了。 1. 确定哪里占用了大量内存。 cd / du -sh * | sort -rh经过一段时间后&#xff0c;显示如下&#xff1a; // 474G home // 230G var // 40G usr // 10G snap // --- 根据实际情…

C++_命令行操作

命令行操作 介绍第一步编译 源码第二部 找到exe 可执行文件第三步看图操作代码测试源码测试结果 介绍 本文介绍命令行操作 1.argc 表示当前输入 参数个数 2.argv 表示当前输入 字符串内容 第一步编译 源码 #include<iostream> #include<string>using namespace st…

Spring Security 6.x 系列(15)—— 会话管理之源码分析

一、前言 在上篇 Spring Security 6.x 系列(13)—— 会话管理之会话概念及常用配置 Spring Security 6.x 系列(14)—— 会话管理之会话固定攻击防护及Session共享 中了清晰了协议和会话的概念、对 Spring Security 中的常用会话配置进行了说明,并了解会话固定攻击防护…

React Native 桥接原生常量

一、编写并注册原生常量方法 在 SmallDaysAppModule 这个模块中有一个方法 getConstans &#xff0c;重载这个方法就可将自定义的常量返回&#xff0c;系统会自行调用该方法并返回定义的常量将其直接注入到 JS 层&#xff0c;在 JS 层直接获取即可。 二、JS 层获取原生常量&am…

el-table 个体行绑定点击事件时 表格中有el-radio和el-checkbox 点击触发两次事件处理方法

问题描述 在element的table中 使用radio或者checkbox 的单击事件,会导致radio或者checkbox的单击事件触发两次 解决办法 <el-table :data"tableData" style"width: 100%" max-height"500" :header-cell-style"tableHeaderCellStyle&q…

chatglm3的api调用

conda activate chatglm3 cd openai_api_demo python openai_api.py 启动ok&#xff0c;然后内网映射后 anaconda启动jupyter !pip install openai1.6.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/ """ This script is an example of using the OpenAI …

Halcon 3D-Transformation 相关算子(一)

(1) hom_mat3d_identity( : : : HomMat3DIdentity) 功能&#xff1a;生成三维齐次变换矩阵。 控制输出参数&#xff1a;HomMat3DIdentity&#xff1a;变换矩阵。 (2) create_pose( : : TransX, TransY, TransZ, RotX, RotY, RotZ, OrderOfTransform, OrderOfRotation, ViewO…

esm中使用__dirname与__filename

ESM中的__dirname ; __filename import.meta.url import.meta 包含当前模块的一些信息&#xff0c;其中 import.meta.url 表示当前模块的 file: 绝对路径&#xff0c;拿到这个绝对路径我们就可以配合其他 API 来实现 __filename 和 __dirname。 console.log(import.meta.url…

离线安装docker和docker-compose

1.下载 docker Index of linux/static/stable/x86_64/ docker-compose Overview of installing Docker Compose | Docker Docs 2.docker /etc/systemd/system/docker.service [Unit] DescriptionDocker Application Container Engine Documentationhttps://docs.docker.…

6.OpenResty系列之深入理解(二)

1. 日志输出 vim /usr/local/openresty/nginx/conf/nginx.conf默认配置如下 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;http {#log_format main $remote_addr - $remote_user [$time…

回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SO-LSTM蛇群算法优化…

docker镜像的生成过程

镜像的生成过程 Docker镜像的构建过程&#xff0c;大量应用了镜像间的父子关系。即下层镜像是作为上层镜像的父镜像出现的&#xff0c;下层镜像是作为上层镜像的输入出现。上层镜像是在下层镜像的基础之上变化而来。 FROM centos:7 FROM指令是Dockerfile中唯一不可缺少的命令&a…

RocketMq直接上手(火箭班)

Apache RocketMQ官方文档&#xff1a;https://rocketmq.apache.org/zh/docs/bestPractice/06FAQ/&#xff0c;这里面涵盖了所有的基本知识、各种搭建环境、基础代码测试…还有各种问题总结&#xff0c;很值得自主学习。 1.配置依赖&#xff1a;pom.xml文件 可以只截取maven仓库…

3.3 IMAGE BLUR: A MORE COMPLEX KERNEL

我们研究了vecAddkernel和colorToGreyscaleConversion&#xff0c;其中每个线程只对一个数组元素执行少量算术运算。这些内核很好地服务于其目的&#xff1a;说明基本的CUDA C程序结构和数据并行执行概念。在这一点上&#xff0c;读者应该问一个显而易见的问题——所有CUDA线程…

C++类和对象(万字超详细讲解!!!)

文章目录 前言1.面向过程和面向对象区别2.类的基本概念2.1 类的引入2.2 类的定义2.3 类成员变量的命名规则2.4 类的访问限定符2.5 类的封装2.6 类的作用域2.7 类的实例化 3.类对象模型3.1 如何计算类对象的大小3.2 对齐规则 4.this指针4.1 this指针的引出4.2 this指针的特性4.3…

Android App打包加固后的APK无法安装问题

最近开发的一个应用要上架&#xff0c;正常流程打完包后去加固&#xff0c;由于以前一直用的是360的加固助手&#xff0c;这里开始也是选择用它。 使用360加固&#xff1a; 问题一、开始出现的问题是说应用未签名无法加固&#xff0c;我明明是签名后打的包&#xff0c;怎么会…

2023全球年度安全漏洞TOP 10

数字化转型步伐不断加快&#xff0c;社会各行业迎来了许多发展机遇&#xff0c;但与此同时面临着日益复杂的数据安全和网络安全威胁。其中&#xff0c;安全漏洞数量持续增长更是成为了各行各业不可忽视的挑战&#xff0c;尤其是在工业、金融、交通、国防、医疗和信息技术等领域…

K8S集群调度(2)

schedule的调度算法 预算策略 过滤出合适的节点 优先策略 选择部署的节点 nodeName:硬匹配&#xff0c;不走调度策略。node01. nodeSelector: 根据节点的标签选择&#xff0c;会走调度的算法。 只要是走调度算法&#xff0c;在不满足预算策略的情况下&#xff0c;所有po…