本题就是一题LIS(最长递增子序列)的问题。本题要求求最长递增子序列和最长递减子序列。
dp的解法是O(n*n),这个应该大家都知道,不过本题应该超时了。
因为有O(nlgn)的解法。
但是由于本题的数据特殊性,故此本题可以利用这个特殊性加速到O(n)的解法,其中的底层思想是counting sort分段的思想。就是如果你不会counting sort的话,就很难想出这种优化的算法了。
...
分类:
其他好文 时间:
2014-08-09 23:18:49
阅读次数:
393
Sort a linked list in O(n log n) time using constant space complexity.思路:题目要求O(n log n)的时间复杂度以及常空间复杂度,因此,使用归并排序策略。 1 class Solution { 2 public: 3 ...
分类:
其他好文 时间:
2014-08-09 23:13:19
阅读次数:
284
自己补充的整个程序,包括排序,旋转,查找#include
using namespace std;
void my_sort(int a[],int len)
{
int temp;
for (int i=0;i<len-1;i++)
{
for (int j=0;ja[j+1])
{
temp = a[j];
...
分类:
其他好文 时间:
2014-08-09 11:45:37
阅读次数:
195
UVA 1016 - Silly Sort
题目链接
题意:给定一个序列,数字都不同,每次可以交换两个数字,交换的代价为两数之和,要求出把这个序列变成递增最小代价
思路:利用置换的分解原理,可以把序列的每条循环单独考虑,对于每条循环而言,不断交换肯定每个数字至少会换到一次,再利用贪心的思想,如果每次拿循环中的最小值去置换,那么就是这个最小值会用长度-1次,而剩下的数字各一次,注意...
分类:
其他好文 时间:
2014-08-08 21:32:26
阅读次数:
374
1 #include 2 #include 3 4 int parallel_qsort(int * data , int start , int end, int p_count, int pid); 5 int quick_sort(int *data ,int start , int en.....
分类:
其他好文 时间:
2014-08-08 20:55:06
阅读次数:
239
查看当前目录的大小du-sh.查看当前目录下所有文件或者目录的大小du-sh*显示前10个占用空间最大的目录du-s*|sort-nr|head显示前10个占用空间最大的文件,使用MB为单位du*--block-size=MB|sort-nr|head或者也可写成du*-BMB|sort-nr|head
分类:
系统相关 时间:
2014-08-08 18:32:06
阅读次数:
246
1、以80开头的端口排序:netstat-lntup|awk‘{if($4~/80/){split($4,a,":");printa[2]}}‘|sort-u
分类:
其他好文 时间:
2014-08-08 18:25:16
阅读次数:
188
members=[45,23,12,34];members=members.sort(function(a,b){returna-b; );这里面a-b为升序,b-a降序排列;但a,b值具体是多少,取的是什么值呢?还是说这是固定的一种写法而已?
分类:
Web程序 时间:
2014-08-08 15:33:36
阅读次数:
268
1. 所有STL sort算法函数的名字列表:
函数名 功能描述
sort 对给定区间所有元素进行排序
stable_sort 对给定区间所有元素进行稳定排序
partial_sort 对给定区间所有元素部分排序
partial_sort_copy 对给定区间复制并排序
nth_element ...
分类:
其他好文 时间:
2014-08-07 18:59:20
阅读次数:
231
要在js 实现orderBy基本知识就是 array.sortarray.sort(function(a,b){a 表示 row 0b 表示 row 1它会loop多次你可以比较 if(a > b) return 1做出一个return , return 的结果 >0 代表你要这2个row对换位置}...
分类:
编程语言 时间:
2014-08-07 12:26:39
阅读次数:
393