字符串循环移位。时间复杂度和空间复杂度都为O(1),三种方法。...
分类:
其他好文 时间:
2014-10-27 19:34:09
阅读次数:
160
对于ratings[i+1],和ratings[i]的关系有下面几种:1. 相等。相等时ratings[i+1]相应的糖果数为12.ratings[i + 1] > ratings[i]。在这样的情况下,要寻找以ratings[i]開始的递增序列。3.ratings[i + 1] &ratings....
分类:
其他好文 时间:
2014-10-27 10:31:47
阅读次数:
234
堆排序基本思路:根据完全二叉树,建立最大最小堆来排序时间复杂度:O(nlongn)/** * */package com;/** * @author wenb * @time 下午03:52:55 * @date 2014-10-24 */public class HeapSort { pu...
分类:
编程语言 时间:
2014-10-24 18:29:10
阅读次数:
221
一: 给定一个数组a[N],我们希望构造数组b[N],其中b[i]=a[0]*a[1]*...*a[N-1]/a[i]。
在构造过程:
1、不允许使用除法;
2、要求O(1)空间复杂度和O(n)时间复杂度;
3、除遍历计数器与a[N] b[N]外,不可使用新的变量(包括栈临时变量、对空间和全局静态变量等);
void makeArray(int a[],int b[],int l...
分类:
其他好文 时间:
2014-10-23 12:28:09
阅读次数:
170
这道题是NOIP第一道DP优化题,看似容易,实际上想要满分也颇有难度。
传送门:1002 过河
算法
此题显然要用到DP,DP方程也显而易见:
if (stone[i]) f[i]=min{f[i-j]}+1; (S
else f[i]=min{f[i-j]};
这样的时间复杂度为 O(LT) ,空间复杂度为 O(L) 。
而此题的L高达 10亿 ,所以这种朴素的方法只能得 30...
分类:
编程语言 时间:
2014-10-22 14:44:16
阅读次数:
309
在计算机科学中,算法分析(Analysis of algorithm)是分析执行一个给定算法需要消耗的计算资源数量(例如计算时间,存储器使用等)的过程。算法的效率或复杂度在理论上表示为一个函数。其定义域是输入数据的长度,值域通常是执行步骤数量(时间复杂度)或者存储器位置数量(空间复杂度)。算法分析是...
分类:
编程语言 时间:
2014-10-22 14:12:10
阅读次数:
490
Sort a linked list in O(n log n) time using constant space complexity.
思路:要想时间复杂度达到O(n log n)
,那么有两种,一种是合并排序,另一种是快速排序,而要想空间复杂度为常数,那么只能使用递归,本人使用的是递归的合并排序,代码如下:
/**
* Definition for s...
分类:
其他好文 时间:
2014-10-22 12:55:55
阅读次数:
200
【题目】
大家对回文串不陌生吧?一个字符串从前看和从后看如果一样的话,就是回文串,比如“上海自来水来自海上”就是一个回文串。现在我们的问题来了,把一个数字看成字符串,问它是不是一个回文数?时间复杂度和空间复杂度越低的算法,得分越高。
c++:
bool isPalindromeNumber(long num);
java:
boolean isPalindromeN...
分类:
移动开发 时间:
2014-10-21 21:36:16
阅读次数:
167
1、程序的性能
程序的性能由时间复杂度和空间复杂度决定。
1.1空间复杂度
程序所需要的空间主要由以下部分构成:
? 指令空间。存储经过编译之后的程序指令。指令有操作数和操作码构成。
? 数据空间。存储所有常量和所有变量值所需的空间。
? 环境栈空间。保存函数调用返回时恢复运行所需要的信
息。
(1)指令空间
程序所需指令空间的大小取决于如下因素:
...
分类:
编程语言 时间:
2014-10-21 10:22:07
阅读次数:
252
KMP算法
BF算法
BF算法就是我们最基本的求解字符串匹配的算法,算法的时间复杂度为O(M*N),空间复杂度为O(1),具体过程如下:
串
第一次
第二次
第三次
第四次
模式串S[i]
abcababc
abcababc
abcababc
abcababc
匹配串T[j]
...
分类:
编程语言 时间:
2014-10-20 17:26:30
阅读次数:
233