开始我的思路是:固定一半,另一半用组合公式cn1+cn2+cn3+cn4+.....+cni;最后用全排列减去它们即可。最后发现思路完全不对,必须用错排公式进行计算。即Cnm*a[N-m]; 从N个人中选出m个正确的,用错排公式算出(N-m)没在对应位置的个数。根据分步计数原理,可以得到结果。#in...
分类:
其他好文 时间:
2014-07-19 00:03:56
阅读次数:
214
class Solution {public: void sortColors(int A[], int n) { int cnt[3] = {0}; for (int i = 0; i 0) start += cnt[i-1]; for (...
分类:
其他好文 时间:
2014-07-18 16:15:56
阅读次数:
166
排序前 必须先定义一个比较的方法 如下-(NSComparisonResult )studentcompare:(Student *)stu;在Sstudent的类中定义for ....in的用法 取出in后面数组中的各个元素将数组中的元素排序NSArray *array3=[array2 sort...
分类:
其他好文 时间:
2014-07-18 16:05:43
阅读次数:
154
主要包括冒泡、简单选择、插入、堆排、归并、快排这几种。以后会慢慢补充。可能有错,欢迎指出。#include#includeusing namespace std;//升序int arr[10000],length;//冒泡排序void Bubble_Sort(int *Arr,int length)...
分类:
其他好文 时间:
2014-07-18 15:36:53
阅读次数:
296
当您使用资源浏览器查看文件时,您能够随心所欲的按名称、大小、类型及改动日期不同的列对文件进行大小排序。.Net提供的ListView组件没有直接提供这样的功能,但要实现并不难。 ListView.Sort()方法的功能是“对列表视...
分类:
其他好文 时间:
2014-07-17 19:01:25
阅读次数:
190
ip.txt 里存储着ip信息 统计排序后取前10条awk '{cnt[$1]++} END{for (ip in cnt) print ip":"cnt[ip]}' ip.txt | sort -k 2 -rn -t":" | head -n 10awk '{cnt[$1]++} END{for ...
分类:
系统相关 时间:
2014-07-17 13:32:35
阅读次数:
12747
题意:
将一列数字排序 排序规则是 每次找到最小值的位置loc 将1~loc所有数字颠倒 然后删掉第一位 直到排好序 排序要求是稳定的
思路:
这题要做的是 寻找区间最小值位置 翻转区间 的操作 因此可以想到用splay
只需要每个节点记录一个small 就可以实现找到最小值位置
翻转区间操作就是将splay的超级头转到最上面使之成为根 再把loc转到根下面 这时根的右儿子的左儿子就是需要翻转的区间 用一个rev延迟更新 然后将loc转到最上面是指成为根 删掉根 如此循环...
分类:
其他好文 时间:
2014-07-17 10:53:28
阅读次数:
217
算法思想:遍历序列,当前元素比前一元素小时,交换他们,这样一次遍历之后,最大元素出现在序列尾端,遍历n次之后序列即为有序序列。算法实现: 1 BUBBLE_SORT(A) 2 n = length of A 3 end = n-2 4 5 while end > 0 6 ...
分类:
其他好文 时间:
2014-07-16 18:24:15
阅读次数:
151
Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.
Here, we will use the integers ...
分类:
其他好文 时间:
2014-07-16 17:18:44
阅读次数:
207
(1)全排列问题 1 //全排列的两种方法 2 #include 3 using namespace std; 4 5 //方法一,采用swap方法 6 void quanpailie(char * A,int first,int n) 7 { 8 if(A==NULL) 9 {...
分类:
其他好文 时间:
2014-07-16 12:15:27
阅读次数:
224