蓝桥杯国赛备赛复习——基础算法

news/2024/5/20 16:05:08

一、排序

1.1 快速排序

package 排序;import java.util.Scanner;public class 快速排序 {public static void main(String[] args) {// TODO Auto-generated method stubScanner scan = new Scanner(System.in);int []a = new int[110];int n = scan.nextInt();for(int i=0;i<n;i++)a[i] = scan.nextInt();Q_sort(a,0,n-1);for(int i=0;i<n;i++)System.out.print(a[i]+" ");}static void Q_sort(int a[],int l,int r) {if(l>=r) return;int x = a[l];int i = l - 1;int j = r + 1;while(i<j) {do i++; while(a[i]<x);do j--; while(a[j]>x);if(i<j) {int t = a[i];a[i] = a[j];a[j] = t;}}Q_sort(a,l,j);Q_sort(a,j+1,r);}
}

1.2 归并排序

package 排序;
import java.util.*;
public class 归并排序 {static int []tmp = new int[110];	//辅助数组public static void main(String[] args) {// TODO Auto-generated method stubScanner scan = new Scanner(System.in);int []a = new int[110];int n = scan.nextInt();for(int i=0;i<n;i++)a[i] = scan.nextInt();Merge_sort(a,0,n-1);for(int i=0;i<n;i++)System.out.print(a[i]+" ");}static void Merge_sort(int []a,int l,int r) {// 递归退出条件if(l>=r)	return;// 分int mid =  l + r >> 1;Merge_sort(a,l,mid);Merge_sort(a,mid+1,r);// 合int ans=0,x=l,y=mid+1;while(x<=mid&&y<=r)if(a[x]<=a[y])	tmp[ans++] = a[x++];else  tmp[ans++] = a[y++];while(x<=mid) tmp[ans++] = a[x++];while(y<=r) tmp[ans++] = a[y++];for(int i=l,pos=0;i<=r;i++) a[i] = tmp[pos++];}
}

二、二分

2.1 整数二分

package 二分;
import java.util.*;
public class 整数二分 {public static void main(String[] args) {// TODO Auto-generated method stub// 模板1int l = 1,r = 1,mid;while(l<r) {mid = (l+r)/2;if(check(mid)) r = mid;else l = mid+1;}// 模板1while(l<r) {mid = (l+r+1)/2;if(check(mid)) l = mid;else r = mid-1;}}static boolean check(int x) {return true;}
}

2.2 浮点二分

package 二分;public class 浮点二分___平方根 {public static void main(String[] args) {// TODO Auto-generated method stubint x =4;double l = 0,r = x;while((r-l) > 1e-8) {double mid = (l+r)/2;if(mid*mid>=x) r = mid;else l = mid;}System.out.print(l);}
}


http://www.mrgr.cn/p/78825020

相关文章

loons2024年05月09日20:04:57

1 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 11 1 1 1

远动通讯屏的作用

远动通讯屏的作用 远动通讯屏有时有称为调度数据网柜&#xff0c;远动通讯屏具体干啥作用&#xff1f;远动通讯屏是以计算机为基础的生产过程与调度自动化系统&#xff0c;可以对现场的运行设备进行监视和控制、以实现数据采集、设备测量、参数调节以及各类信号报警等各项功能。…

从零开始!学习绘制3D表情的详细指南

在2020 年的苹果全球开发者大会(WWDC)&#xff0c;苹果发布了新的 macOS 11(又名 Big Sur)。其中在UI视觉方面macOS Big Sur 系统最大的变化就是图标上&#xff0c; Big Sur更新了很多新设计风格的 3D应用图标&#xff0c;3D设计的确可以提升UI整体的视觉氛围&#xff0c;并且现…

邮件的发送

邮件发送和接收的协议 SMTP协议 (Simple Mail Transfer Protocol)属于TCP/IP协议族。 控制信件的中转方式,帮助每台计算机在发送或中转信件时找到下一个目的地。 SMTP服务器是遵循SMTP协议的发送邮件服务器。POP3协议 (Post Office Protocol - Version 3)属于TCP/IP协议族。…

P3842 [TJOI2007] 线段

https://img2024.cnblogs.com/blog/3335712/202405/3335712-20240509201346814-526640377.png洛谷-题目链接 [TJOI2007] 线段 提示 我们选择的路线是(1, 1) (1, 6)(2, 6) (2, 3)(3, 3) (3, 1)(4, 1) (4, 2)(5, 2) (5, 6)(6, 6) (6, 4) (6, 6)不难计算得到,路程的总长度是 24。…

力扣-21. 合并两个有序链表-js实现

/*** Definition for singly-linked list.* function ListNode(val, next) {* this.val (valundefined ? 0 : val)* this.next (nextundefined ? null : next)* }*/ /*** param {ListNode} list1* param {ListNode} list2* return {ListNode}*/ const mergeTwoList…

【linux学习指南】linux 环境搭建

文章目录 &#x1f4dd;前言&#x1f320; 云服务器的选择&#x1f320;阿里云&#x1f320;腾讯云&#x1f320;华为云 &#x1f320;使用 XShell 远程登陆到 Linux&#x1f309;下载 XShell &#x1f320;查看 Linux 主机 ip&#x1f309; XShell 下的复制粘贴&#x1f309; …

2024中国植物资源化妆品创新展在国家植物园成功举办

2024中国植物资源化妆品创新展&#xff08;简称国植美妆展&#xff09;于今年05月06日在北京国家植物园圆满落下帷幕。国植美妆展由中国广告协会化妆品工作委员会与中国抗衰老促进会化妆品产业分会指导&#xff0c;北京华晟德观文化科技发展有限公司主办&#xff0c;于03月30日…

ssh、PAM模块

.ssh/known_hosts 存储ssh指纹 sshd 服务器端 /etc/ssh/sshd_config 服务器端的配置文件 man 5 sshd_config 服务器端的配置文件帮助 echo root:1111|chapasswd 修改密码 openssl rand -base 64 9 随机取9位密码(随机数经过base编码取9位) ssh常用参数: Port 22 #生产建…

敏捷冲刺day2--数字工匠队

这个作业属于哪个课程 软件工程这个作业的要求是什么 项目冲刺这个作业的目标 冲刺日志2站立式会议照片工作困难 有部分知识不知道,要额外学习 昨日完成工作 用户登录前面前端初版 今日计划工作 登录界面前后端处理 项目燃尽图每日总结 陈家谦:继续学习 陆靖:继续努力 代码签…

Android C++ 开发调试 LLDB 工具的使用

文章目录 调试环境准备基础命令Breakpoint CommandsWatchpoint CommandsExamining VariablesEvaluating ExpressionsExamining Thread StateExecutable and Shared Library Query Commands 参考&#xff1a; Android 中在进行 NDK 开发的时候&#xff0c;我们经常需要进行 C 代…

CloudXR:更高效便捷的XR应用交互方案

CloudXR是一种新颖而先进的技术,旨在将虚拟现实和增强现实体验从本地设备转移到云端,主要功能也包括了远程渲染、流媒体传输、低延迟、高带宽和高质量的音视频传输。云化XR可以将高保真度的虚拟现实或增强现实场景实时传输到终端设备上,用户只需通过互联网即可感受到身临其境…

原来spring也可以AI

最近大模型是相当的火&#xff0c;尤其是在自然语言处理&#xff08;NLP&#xff09;、图像识别、语音识别等领域的应用&#xff0c;那对于工程同学来说应该如何接住这波破天的富贵呢&#xff1f; 想啥来啥&#xff0c;前段时间LangChain给我们整了一套钢铁战甲&#xff0c;让…

Kafk设计篇01(设计动机+持久化)

背景 本篇文章基于最新版本&#xff1a;kafka 3.7&#xff0c;其他版本的设计&#xff0c;请参考官网&#xff1a; https://kafka.apache.org/documentation/设计动机 任何组件都有它存在的必要&#xff0c;必然是要解决某一类问题的。我们来看看kafka设计的初衷如何。 kaf…

【Matlab-动画-附源码】3分钟教你用Matlab做一个Lorenz动画

lorenz-x-y-z Lorenz三个维度数据 在科研工作中&#xff0c;经常需要将数据可视化以便更好地理解和传达研究成果。 但大家主要放静态图片&#xff0c;而视频或动画通常比静态图片更具吸引力和表现力。AE, Manim太难学&#xff0c;Matlab就可以用来制作动画。 在这篇博客中&…

Golang | Leetcode Golang题解之第69题x的平方根

题目&#xff1a; 题解&#xff1a; func mySqrt(x int) int {if x 0 {return 0}C, x0 : float64(x), float64(x)for {xi : 0.5 * (x0 C/x0)if math.Abs(x0 - xi) < 1e-7 {break}x0 xi}return int(x0) }

QT5带UI的常用控件

目录 新建工程&#xff0c;Qmainwindow带UI UI设计器 常用控件区 Buttons 按钮 containers 容器 控件属性区域 对象监视区 布局工具区 信号与槽区 简单例子1 放置一个按钮控件&#xff0c;改文本为发送&#xff0c;该按键为Button1&#xff1b; 按钮关联信号和…

手动实现简易版RPC(四)

手动实现简易版RPC(四) 往期内容 手动实现简易版RPC&#xff08;一&#xff09;&#xff1a;RPC简介及系统架构 手动实现简易版RPC&#xff08;二&#xff09;&#xff1a;简单RPC框架实现 手动实现简易版RPC(三)&#xff1a;mock数据生成 前言 接上几篇博客我们实现了最…

01-Excel基础操作-学习笔记

01 选择性粘贴一般的复制粘贴,可以直接使用快捷键Ctrl+C 复制,Ctrl+V 粘贴。但是在工作场景中,这样简单的复制粘贴远远不能满足需要。因此,学习了这个选择性粘贴工具。选择性粘贴工具在哪里? 选中单元格区域——复制——鼠标右击——选择性粘贴应用场景一:要求保留原有格…

优化建图

写 \(2-SAT\) 时刷到的,发现好像一点不会,学习下。 1. 线段树优化建图 当一个点与一段区间连边时,暴力连是 \(O(n^2)\) 的。 因为线段树有一个肥肠优秀的性质,一个区间最多被分为 \(O(logn)\) 个节点。 so,我们可以把区间当成放到线段树上,这样是 \(O(nlogn)\) 的。 具体…