面试题
ncepustrong
这个作者很懒,什么都没留下…
展开
-
面试题---->旋转字符串
原文地址:http://blog.csdn.net/v_JULY_v/article/details/6322882题目描述:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数,要求对长度为n的字符串操作的时间复杂度为O(n),空间复杂度为O(1)。类似的问题,设计一个算法,把一个含有N个转载 2012-10-07 23:03:30 · 550 阅读 · 0 评论 -
全排列
全排列代码import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class FullSort { //将NUM设置为待排列数组的长度即实现全排列 private static int NUM = 4; /** * 递归算法:将数据分为两部分,递归将数据从左侧移右侧实现全转载 2013-08-20 15:46:03 · 729 阅读 · 0 评论 -
倒水问题
有两个容器,容积分别为A升和B升,有无限多的水,现在需要C升水。我们还有一个足够大的水缸,足够容纳C升水。起初它是空的,我们只能往水缸里倒入水,而不能倒出。可以进行的操作是:把一个容器灌满;把一个容器清空(容器里剩余的水全部倒掉,或者倒入水缸);用一个容器的水倒入另外一个容器,直到倒出水的容器空或者倒入水的容器满。 问是否能够通过有限次操作,使得水缸最后恰好有C升转载 2013-08-21 16:22:18 · 1939 阅读 · 0 评论 -
1-N的自然数中,少了一个,找出这个数
原文地址问题1:1-N的自然数中,少了一个,找出这个数(1)求和-容易溢出Sum=1+2+...+N=(N+1)N/2,然后遍历数列每次从S1中减去当前的数字,最后剩下的数字就是所求。为了防止溢出我们可以每次在S1大于一定的数字后,就去减,然后继续求和,再大于就继续减,以此类推。 public int find_Miss_Number_By_Sum(int array[], i转载 2013-03-25 22:40:36 · 3078 阅读 · 0 评论 -
找出N个整数中最大的K个数
问题:在N个数据中查找到第k个大的值。原文地址所谓“第(前)k大数问题”指的是在长度为n(n>=k)的乱序数组中S找出从大到小顺序的第(前)k个数的问题。解法1:我们可以对这个乱序数组按照从大到小先行排序,然后取出前k大,总的时间复杂度为O(n*logn + k)。 解法2:利用选择排序或交互排序,K次选择后即可得到第k大的数。总的时间复杂度为O(n*k)转载 2013-03-26 15:36:52 · 2118 阅读 · 0 评论 -
谷歌2013校园招聘笔试题
1.4 小组赛,每个小组有5支队伍,互相之间打单循环赛,胜一场3分,平一场1分,输一场不得分,小组前三名出线。平分抽签。问一个队最少拿几分就有理论上的出线希望:A.1 B.2 C.3 D.4分析:设有A、B、C、D、E 5支球队,假设ABC晋级了。如果球队C积1分可以出现,由于是单循环赛,说明他4场比赛只打平了一局,其他的都输了。说明有剩转载 2012-10-26 15:02:10 · 1452 阅读 · 0 评论 -
选秀节目打分
题目描述: 选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与 score[] 数组对应的评委类别,judge_type == 1,表示专家评委,judge_type == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 = 专家评委平均分 * 0.6 +原创 2012-09-13 21:44:38 · 1480 阅读 · 0 评论 -
字符串的最大重复数
题目:编写递归算法求最大重复数,比如"aaabbcc"的最大重复数为3,"aab"最大重复数为2import junit.framework.TestCase;public class RepeatTimes1 extends TestCase { // 判断一个字符在某个字符串中出现的次数 public int existsTimes(String str, char c) {原创 2012-10-25 22:45:11 · 769 阅读 · 0 评论 -
面试题---->字符串匹配
题目:假设两个字符串中所含有的字符和个数都相同我们就叫这两个字符串匹配,比如:abcda和adabc,由于出现的字符个数都是相同,只是顺序不同,所以这两个字符串是匹配的。给出判断两个字符串是否匹配的函数,要求高效!方法思想:假定字符串中都是ASCII字符。如下用一个数组来计数,字符串中ascii码对应的位置数组值,前者加,后者减,全部为0则匹配。import junit.framework原创 2012-09-13 21:55:48 · 721 阅读 · 0 评论 -
O(1)时间求出栈内元素最小值
问题描述:对现在的Stack(栈)数据结构进行改进,加一个min()功能,使之能在常数,即O(1),时间内给出栈中的最小值。可对push()和pop()函数进行修改,但要求其时间复杂度都只能是O(1)。解决方案:在栈的每个元素加一个属性值 min (用于记录当前位置下面的元素的最小值),元素的值用key表示压栈-Push:当压入的元素key小于当前栈顶元素的min值时,将新转载 2012-10-21 10:26:17 · 1300 阅读 · 0 评论 -
java进制转换
二进制转为十进制,//10进制->2进制 String a = "-1195";//输入数值 BigInteger src = new BigInteger(a);//转换为BigInteger类型 System.out.println(src.toString(2));//转换为2进制并输出结果 十进制转为二进制//2进制->10进制 String a = "10010101转载 2013-09-02 17:14:03 · 867 阅读 · 0 评论