算法刷题常用方法

📑前言

本文主要是【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,一经查实,立即删除!

相关文章

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…

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 …

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;怎么会…

MyBatisPlus学习笔记一

1、简介 MyBatisPlus&#xff08;简称MP&#xff09;是一个MyBatis的增强工具&#xff0c;在MyBatisMyBatisMyBatis的的基础上只做增强不做改变&#xff0c;为简化开发&#xff0c;提高效率而生。 官网&#xff1a;MyBatis-Plus mybatisplus通过扫描实体类&#xff0c;并基于…

老胡的周刊(第123期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 ai-video-search-engine[2] 随着 TikTok 和 …

空间转录组与单细胞转录组联合分析——MIA,代码分享(Nature Biotechnology :)

​ 原文&#xff1a;Integrating microarray-based spatial transcriptomics and single-cell RNA-seq reveals tissue architecture in pancreatic ductal adenocarcinomas | Nature Biotechnology 研究者采用 MIA 联合 scRNAseq 和 ST 数据&#xff0c;分析原发性胰腺导管腺癌…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷②

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷2 目录 需要竞赛软件包环境以及备赛资源可私信博主&#xff01;&#xff01;&#xff01; 2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷2 模块一 …

NX二次开发 Block UI 指定方位控件的应用

一、概述 NX二次开发中一般都是多个控件的组合&#xff0c;这里我首先对指定方位控件进行说明并结合选择对象控件&#xff0c;具体如下图所示。 二、实现功能获取方位其在选择面上原点的目标 2.1 在initialize_cb()函数中进行初始化&#xff0c;实现对象选择过滤面 //过滤平…

Unity中Shader面片一直面向摄像机

文章目录 前言一、实现思路1、 我们要实现模型面片一直跟着摄像机旋转,那么就需要用到旋转矩阵2、确定 原坐标系 和 目标坐标系3、确定旋转后坐标系基向量二、确定旋转后 坐标系基向量 在 原坐标系 下的值1、Z轴基向量2、假设Y轴基向量 和 世界空间下 的Y轴方向一致竖直向上3、…

全网独家:基于openEuler-20.03-LTS-SP4底包构建opengaussV5.0.1LTS的单机极简版数据库容器

本文尝试基于openEuler-20.03-LTS-SP4底包构建opengaussV5.0.1LTS的单机版极简版数据库容器。 一、软件包源 1、openEuler-20.03-LTS容器底包 openEuler-20.03-LTS-SP4 下载链接 sha256:24d8f51c1f3a79eb975c4e498cadd9055bfd708d66c15935ec46664d0f975a7b openEuler-dock…

QT上位机开发(键盘绘图控制)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 绘图是qt很基础的一个功能。通常&#xff0c;我们进行qt绘图的时候&#xff0c;一般会先创建一个qt view&#xff0c;这个相当于视图。接着创建一个…