前言 本文只是解释为什么该排序稳不稳定,不进行排序的讲解,所以适合有了排序的基础再来浏览 稳定性 也就是说一个序列中的相同值,它排序后,它的相同值的顺序不会改变即稳定 冒泡(稳定) 冒泡原理遵循大数下沉小数冒泡,思路是每次相邻两个进行交换,因为是每次找到当前最小数然后进行一格一格的移动,因为是一格一 ...
分类:
编程语言 时间:
2020-03-26 21:16:16
阅读次数:
145
1 for(int i=1;i<=n;i++) 2 cin>>h[i]; 3 size=n; 4 for(int i=n/2;i;i--) 5 down(i); 6 //建堆,根据完全二叉树的性质,n/2后的都是叶子结点,只需要把所有的根结点从后往前down一遍就完成了堆的建立 7 8 9 //小根 ...
分类:
其他好文 时间:
2020-03-15 10:09:43
阅读次数:
70
一、冒泡排序 基本思想: 对需要排序的数组从后往前(逆序)进行多遍的扫描,当发现相邻的两个数值的次序与排序要求的规则不一致时,就将这两个数值进行交换。这样比较小(大)的数值就将逐渐从后面向前面移动。 //冒泡排序 function mysort($arr) { for($i = 0; $i < co ...
分类:
编程语言 时间:
2020-03-11 18:10:03
阅读次数:
58
本题如果将int型转化为字符串,则会显示超时,所以只能用从后往前一位一位的判断是否含有4或者62 #include <iostream> #include<string> using namespace std; int main() { int m,n; int index; bool flag; ...
分类:
编程语言 时间:
2020-03-10 21:58:35
阅读次数:
69
# 题意有 n 件商品,你带着 p 元钱,每次你可以选择至多 k 件商品,只需要支付其中最贵的商品的价格就可以买下你选择的这些商品你带的钱最多可以购买多少件商品 # 题解二分最后的位置,check时从后往前减保证正确性 1 #include <bits/stdc++.h> 2 #define ll ...
分类:
其他好文 时间:
2020-03-06 22:19:23
阅读次数:
101
本文主要介绍常见的对称加密算法和它们的原理,然后分析一些实际存在的密码学攻击案例,包括流加密密钥重用漏洞、ECB块重排攻击以及CBC的Padding Oracle攻击等。 ...
分类:
其他好文 时间:
2020-03-04 09:17:42
阅读次数:
78
三题都以分发糖果为背景,前两题比较简单,特别是第三题从前往后和从后往前进行两次动态规划的思想,有眼前一亮的感觉,非常巧妙,值得借鉴和思考。 ...
分类:
其他好文 时间:
2020-03-02 23:12:43
阅读次数:
105
移动端flex布局 弹性盒布局语法分为两部分: 1. 添加在父容器上的语法 (1)display : flex; 设置为弹性盒(父元素添加) (2)flex-direction: 主轴排列方式 row; 默认值,默认为横向排列。 row-reverse; 反转横向排列(右对齐,从后往前排,最后一项排 ...
分类:
移动开发 时间:
2020-03-01 15:58:56
阅读次数:
92
思路 0. 首先思考什么时候产生LIS上升的贡献,肯定是遇到了一个小于号啊,左边 4 大于号肯定不产生LIS的贡献了,。 假设上面想到了。 接下来考虑怎么找最短,和最长。 再等等,思考还有没有产生贡献的地方? 容易想到就是 小于号 与 小于号 之间 也会产生贡献。 比如 3424 using nam ...
分类:
其他好文 时间:
2020-02-29 17:34:26
阅读次数:
71
插入排序工作原理: 1.将一个数组拆分成两个数组,一个取第一个元素认为是有序的;剩余的元素认为是无序的 2.每次从无序数组中取出第一个元素与有序数组最后一个元素进行比较 待插入元素比较大,则放有序数组后面;如果比较小,则与有序数组倒数第二个进行比较,对有序数组从后往前进行扫描,直到遇到比他小的位置, ...
分类:
编程语言 时间:
2020-02-27 19:14:30
阅读次数:
56