有一个仅有0和1组成的01串,找到其中最长的一段子串,使得该子串中0和1的数目相等...
分类:
编程语言 时间:
2015-05-12 15:45:02
阅读次数:
169
一个数组A[1..n],假设数组中没有任何相邻两数相等,满足A[1]n。A[i]被称为波峰,当且仅当A[i]>A[i-1]并且A[i]>A[i+1]。请找到数组中的一个波峰。假设数组中存在相邻相等的数,该怎么做?...
分类:
编程语言 时间:
2015-05-12 15:44:23
阅读次数:
139
主元素(Majority Number)定义为数组中出现次数严格超过一半的数。找到这个数。要求使用O(1)的额外空间和O(n)的时间。
进阶1:如果数组中存在且只存在一个出现次数严格超过1/3的数,找到这个数。要求使用O(1)的额外空间和O(n)的时间。
进阶2:如果数组中存在且只存在一个出现次数严格超过1/k的数,找到这个数。要求使用O(k)的额外空间和O(n)的时间...
分类:
编程语言 时间:
2015-05-12 15:43:48
阅读次数:
130
有一个仅有0和1组成的01串,找到其中最长的一段子串,使得该子串中0和1的数目相等...
分类:
编程语言 时间:
2015-05-12 15:42:58
阅读次数:
201
给定一个只包含正整数的数组,给出一个方法,将数组中的数拼接起来,使得拼接后的数最大。例如,[1, 32, 212]拼接之后,所得到的最大数为322121。...
分类:
编程语言 时间:
2015-05-12 15:42:55
阅读次数:
145
有一副扑克有2n张牌,用1,2,..2*n代表每一张牌,一次洗牌会把牌分成两堆,1,2..n和n+1...2n。然后再交叉的洗在一起:n+1, 1, n+2, 2, … n, 2n。问按照这种技巧洗牌,洗多少次能够洗回扑克最初的状态:1,2,...2n。...
分类:
编程语言 时间:
2015-05-12 15:42:22
阅读次数:
146
给一个数组A,和一个整数k,将数组分成两个部分(你可以移动数组中的数),使得左边部分的数都=k。要求使用O(1)的额外空间,和O(n)的时间。...
分类:
编程语言 时间:
2015-05-12 15:42:19
阅读次数:
148
给定三个字符串A, B, C,判断C是否由A和B交错构成。交错构成的意思是,对于字符串C,可以将其每个字符标记为A类或B类,使得我A类的每个字符顺序构成了A字符串,B类的每个字符顺序构成了B字符串。如:对于A=”rabbit” B=”mq”, ”rabmbitq”是由A和B交错构成的,但”rabbqbitm”不是由A和B交错构成。...
分类:
编程语言 时间:
2015-05-12 15:42:03
阅读次数:
629
给定一个数组A[1..n],求数组B[1..n],使得B[i] = A[1] * A[2] .. * A[i-1] * A[i+1] .. * A[n]。要求不要使用除法,且在O(n)的时间内完成,使用O(1)的额外空间(不包含B数组所占空间)。...
分类:
编程语言 时间:
2015-05-12 15:41:36
阅读次数:
140
稍微轻松点,彻底理解了一下这三个算法,当然只是部分,还有什么改良版,具体分类等等,不过下周有事,先把这几个典型的弄明白,老规矩,看代码说问题
/**
* Created by fanyafeng on 2015/5/8/0008.
*/
public class ALGTest {
public static void main(String[] args) {
Sy...
分类:
编程语言 时间:
2015-05-11 09:05:15
阅读次数:
138