面试算法
sure1985811
这个作者很懒,什么都没留下…
展开
-
算法83题
百度笔试:给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)。 public static void Resort(int[] a){ int i = 0; int j = a.length - 1原创 2011-10-01 15:14:43 · 198 阅读 · 0 评论 -
算法94题
求随机数构成的数组中找到长度大于=3的最长的等差数列9 d- x' W) w9 ?" o3 b0 R 输出等差数列由小到大: 如果没有符合条件的就输出 格式: 输入[1,3,0,5,-1,6] 输出[-1,1,3,5] 要求时间复杂度,空间复杂度尽量小 pu原创 2011-10-02 16:12:25 · 304 阅读 · 0 评论 -
算法112题
一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。 请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。 注意: - 5个数值允许是乱序的。比如: 8 7 5 0 6 - 0可以通配任意数值。比原创 2011-10-02 19:15:36 · 232 阅读 · 0 评论 -
算法113题
设计一个算法,找出二叉树上任意两个结点的最近共同父结点。 复杂度如果是O(n2)则不得分。 public static int FindCommonParent(BiTreeNode node, BiTreeNode a, BiTreeNode b, int count)原创 2011-10-02 19:33:17 · 226 阅读 · 0 评论 -
算法87题
求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”) public static String FindMaxSequence(String s){ char[] chars = s.toCharArray(); in原创 2011-10-01 21:41:00 · 194 阅读 · 0 评论 -
算法81题
一个int数组,里面数据无任何限制,要求求出所有这样的数a[i], 其左边的数都小于等于它,右边的数都大于等于它。 能否只用一个额外数组和少量其它空间实现。 public static int SearchCount(int[] a){ boolean[]原创 2011-10-01 13:40:33 · 226 阅读 · 0 评论 -
算法88题
函数将字符串中的字符'*'移到串的前部分, 前面的非'*'字符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量。 如原始串为:ab**cd**e*12, 处理后为*****abcde12,函数并返回值为5。(要求使用尽量少的时间和辅助空间) pu原创 2011-10-01 21:49:42 · 215 阅读 · 0 评论 -
算法116题
正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项,例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12 (1)、设计一个函数void generate(int a,int b,int N ,int * Q)计算Q的前原创 2011-10-03 11:20:30 · 316 阅读 · 0 评论