求S中和T相同的子串的个数。
递推公式:
dp(i,j):S[0...i-1]和T[0...j-1]中不同子串的个数。
dp(0,j) = 0
dp(i,0) = 1
一般情况下
dp(i,j) = dp(i-1,j-1) + dp(i-1,j) S[i-1] == T[j-1],保留S[i-1]以及丢弃S[i-1]
= dp(i-1,j)...
分类:
其他好文 时间:
2014-09-26 19:57:38
阅读次数:
153
给定一个数组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]使用的计数器外,不使用任何新的变量(包括栈临时变量、对空间和全局静态变量等);/...
分类:
其他好文 时间:
2014-09-24 22:07:47
阅读次数:
204
选择、插入、冒泡三种算是最典型的排序算法了,空间复杂度都为O(1)选择排序时间复杂度跟初始数据顺序无关,O(n2),而且还不稳定;插入排序时间复杂度跟初始数据顺序有关最好O(n),最坏O(n2),稳定冒泡排序时间复杂度跟初始数据顺序有关最好O(n),最坏O(n2),稳定三种算法中对于大量随机数,所需...
分类:
其他好文 时间:
2014-09-24 18:41:17
阅读次数:
228
给定一个数组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]外,不可使用新的变量(包括栈临时变量、对空间和全局静态变量等);...
分类:
其他好文 时间:
2014-09-23 13:02:44
阅读次数:
210
雅虎2015校招笔试一、已知数组A[],实现数组B[];使得B[i]=A[0]*A[1]...*A[i-1]*A[i+1]...*A[n-1]要求:1)不能使用除法2)时间复杂度为O(n)3)空间复杂度为O(1)package com.bobo.interview;public class Yaho...
分类:
其他好文 时间:
2014-09-22 19:21:53
阅读次数:
174
扫描数组两遍的方法是:第一遍计算有每个颜色有多少个,第二遍再将所有颜色赋回数组
扫描数组一遍的方法:
nextPos数组中记录三种颜色的下一个位置
考虑A={0,2,1,1,0}时我们应该如何更新nextPos
初始:nextPos = {0,0,0}
第一个颜色是0,所以nextPos[0] = 1。A={0...} 但是由于1和2必须在0的后面,所以nextPos[1], nex...
分类:
其他好文 时间:
2014-09-22 17:18:52
阅读次数:
248
计数排序是一种算法复杂度 O(n) 的排序方法,适合于小范围集合的排序。比如100万学生参加高考,我们想对这100万学生的数学成绩(假设分数为0到100)做个排序。我们如何设计一个 最高效的排序算法。本文不光给出计数排序算法的传统写法,还将一步步深入讨论算法的优化,直到时间复杂度和空间复杂度最优。先...
分类:
其他好文 时间:
2014-09-22 10:47:42
阅读次数:
294
转自:http://blog.csdn.net/believejava/article/details/38434471——————————————————————————————————————————————1、快速排序的基本思想: 通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关...
分类:
编程语言 时间:
2014-09-21 19:52:11
阅读次数:
256
经典问题,物品个数为n,背包重量为v,则时间复杂度为O(nv)。空间复杂度为O(v)。不过如果要得到选择的最终结果,则需要把中间结果都记录下来,空间复杂度只能也用O(nv)。#include<iostream>
usingnamespacestd;
intmax(inta,intb){
returna>=b?a:b;
}
intbag_use_o..
分类:
其他好文 时间:
2014-09-21 03:08:30
阅读次数:
268
Implement int sqrt(int x).难度:76,用二分查找。要求是知道结果的范围,取定左界和右界,然后每次砍掉不满足条件的一半,知道左界和右界相遇。算法的时间复杂度是O(logx),空间复杂度是O(1)。 1 public class Solution { 2 public ...
分类:
其他好文 时间:
2014-09-19 13:45:15
阅读次数:
122