- 博客(7)
- 收藏
- 关注
原创 插入排序
插入排序 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。 解释 以数组arr[5]={3,1,5,7,2};为例子,将第1个数(3)作为有序数列,从第二个数作为要插入的数,开始依次遍历,插入的数有两种情况,比3大,或者比3小。我们只需将小的数插到前面, ...
2021-03-12 15:20:05 90
原创 选择排序
选择排序 第一次从未排序的元素中选出最小(或者最大的)一个元素,放在序列的起始位置,变成 已排序的序列,然后再从未排序的序列里选择最小(或者最大)的元素,放在已排序的序列的最后。复杂度为O(n*n)。 #include<cstdio> #include<cstring> int main() { int arr[5]={3,1,5,7,2}; int len=sizeof(arr)/sizeof(int); for(int i=0;i<len-1;i++) { i
2021-03-09 22:07:45 65
原创 子数组最大平均数
643. 子数组最大平均数 给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例: 输入:[1,12,-5,-6,50,3], k = 4 输出:12.75 解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 提示: 1 <= k <= n <= 30,000。 所给数据范围 [-10,000,10,000]。 分析 用滑动窗口来做,首先算出前k-1个的和sum,然后sum每次减去开头的数,并加上最后一个数的下一个数。 代码 cla
2021-02-04 17:42:37 299
原创 猴子吃包子
蓝桥杯 试题 算法训练 猴子吃包子 问题描述 从前,有一只吃包子很厉害的猴子,它可以吃无数个包子,但是,它吃不同的包子速度也不同;肉包每秒钟吃x个;韭菜包每秒钟吃y个;没有馅的包子每秒钟吃z个;现在有x1个肉包,y1个韭菜包,z1个没有馅的包子;问:猴子吃完这些包子要多久?结果保留p位小数。 输入格式 输入1行,包含7个整数,分别表示吃不同包子的速度和不同包子的个数和保留的位数。 输出格式 输出一行,包含1个实数,表示吃完所有包子的时间。 样例输入 4 3 2 20 30 15 2 样例输出 22.
2021-02-04 11:00:35 99
原创 zj 例2.3 求数列的和
浙大数据结构课后习题,2.3求数列的和 输入整数n和a,输出S=a+aa+aa+…+a…a(n个a的结果) 问题分析 假设n=2,a=1,结果为1+11=22,,可以用一个数组S,来存储结果,另一个数组K用来存储,每个a,每次相加都是从低位向高位加,又因为每个数的个位,十位等等都是一样的都为a,所以可以,按位相加,把结果存到S中,并记录是否进位 代码 #include<stdio.h> #define maxn 1000 int main() { int a,n; int s[maxn],k
2021-02-02 15:26:23 318
原创 1128. 等价多米诺骨牌对的数量
题目描述 给你一个由一些多米诺骨牌组成的列表 dominoes。 如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。 形式上dominoes[i] = [a, b] ,dominoes[j] = [c, d] 等价的前提是 ac 且 bd,或是 ad 且 bc。在 0 <= i < j < dominoes.length 的前提下,找出满足 dominoes[i] 和 dominoes[j] 等价的骨牌对 (i, j) 的数量。 示
2021-01-26 20:21:43 71
原创 PAT1001 A+B Format
PAT1001 A+B Format Calculate a+b and output the sum in standard format – that is, the digits must be separated into groups of three by commas (unless there are less than four digits). Input Specification: Each input file contains one test case. Each case c
2021-01-26 20:08:49 58
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人