#快速排序模板 快速排序算法的证明与边界分析 算法证明 算法证明使用算法导论里的循环不变式方法 快排模板(以j为分界) 快排属于分治算法,分治算法都有三步: 分成子问题 递归处理子问题 子问题合并 void quick_sort(int q[], int l, int r) { //递归的终止情况 ...
分类:
编程语言 时间:
2021-05-24 02:54:07
阅读次数:
0
Insertion sort Attempt#1 每次将元素A[j]插入它之前的有序序列A[1 .. j-1]中,插入方式是与前一个相邻元素两两比较并交换直到到达正确位置 Complexity 显然复杂度主要来自于 compare 和 swap : 平均情况下,比较和交换均需要 Θ(n2),虽然可以 ...
分类:
其他好文 时间:
2021-05-24 02:26:31
阅读次数:
0
public class selectSort { //基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换; 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。 public selectSort(){ int a[]={1,54,6,3, ...
分类:
编程语言 时间:
2021-05-24 00:38:10
阅读次数:
0
package test; public class BubbleSort { public void bubble(Integer[] array,int from,int end) { for(int k=1;k<end-from+1;k++) { for(int i=end-from;i>=k ...
分类:
编程语言 时间:
2021-05-24 00:31:25
阅读次数:
0
// var arr2 = [1,2,3,2,2,1,3,4,2,5]; // // 数组去重 // for(var i=0;i<arr2.length;i++){ // // console.log(arr2[i]); // // 获取当前元素后的元素 // for(var j=i+1;j<arr ...
分类:
编程语言 时间:
2021-05-23 23:42:15
阅读次数:
0
3. 区间合并 原理:区间排序左端点有交集的区间可以合并 struct OI{int l, r;}num[N]; inline int cmp(OI a, OI b){return a.l < b.l;} //按照左端点排序 sort(num+1, num+1+n,cmp); void combin ...
分类:
其他好文 时间:
2021-05-23 23:02:19
阅读次数:
0
贪心。 经典活动安排问题。 注意点 不要忘记最后一个区间对最长连续挤奶时间区间的更新。 const int N=5010; PII a[N]; int n; int main() { cin>>n; for(int i=0;i<n;i++) cin>>a[i].fi>>a[i].se; sort(a ...
分类:
其他好文 时间:
2021-05-04 16:30:13
阅读次数:
0
Course Schedule III (H) There are n different online courses numbered from 1 to n. You are given an array courses where courses[i] = [durationi, lastD ...
分类:
其他好文 时间:
2021-05-04 16:09:30
阅读次数:
0
1. CSV 1.1. read_csv pandas.read_csv(filepath_or_buffer, sep=',') filepath_or_buffer:文件路径 usecols:列表,指定读取的列名 # 读取文件,并指定只获取open和close这两列 data = pd.read ...
分类:
其他好文 时间:
2021-05-04 16:03:35
阅读次数:
0
题目 思路 用 map 存下数字第一次出现的位置,再用结构体存下数字的值与出现次数。 排序,输出。 这里简单介绍一下 map 。 map 本质上就像一个数组, 只不过你可以自己定义键和值 (其实就是下标与它所对应的元素) 类型。 map<string,int> mp; 这样你就有了一个可以用 str ...
分类:
其他好文 时间:
2021-05-03 12:53:50
阅读次数:
0