笔试面试题汇集
文章平均质量分 77
terry84fun
这个作者很懒,什么都没留下…
展开
-
第一题:约瑟夫环问题
问题: 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列; 他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 解题代码如下:public class YueSeHu { private int n; private int m; private int[] man原创 2009-10-31 10:40:00 · 659 阅读 · 0 评论 -
第一题:排列组合问题
问题:/* * 排列组合问题 * (1)求一个集合所有子集的问题 * (3)求一个集合的全排列 * (2)求从一个含有n个元素的集合中取m个元素的组合 * * /public class PermutationCombination { /** * @param args */ private int total = 0; private Array原创 2009-11-02 10:10:00 · 463 阅读 · 0 评论 -
最近一些笔试面试题
1.平时洗牌是两打牌,交叉洗在一起.也就是开始 1 2 3 4 5 6 7 8第一次 1 5 2 6 3 7 4 8第二次 1 3 5 7 2 4 6 8。。。第k次 ...给你一个数组a[2N],要求在O(1)的空间复杂度内给a[2N]k次洗牌. 2.给定一个整型数n,求出跟n最接近的2的m次方,求出m的值。 3.给定一个数组(无序),例如Index原创 2009-12-04 08:14:00 · 543 阅读 · 0 评论 -
旋转数组的最大小元素
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。 解题思路分析:这道题最直观的解法并不难。从头到尾遍历数组一次,就能找出最小的元素,时间复杂度显然是O(N)。但这个思路没有利用输入数组的特性,我原创 2009-12-09 16:09:00 · 734 阅读 · 0 评论 -
和为n连续正数序列
题目:题目:输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。 解题思路:我们用两个数small和big分别表示序列的最小值和最大值。首先把small初始化为1,big初始化为2。如果从small到big的序列的和大于n的话,我们向右移动small,相当于从序列中去掉较小的数字。原创 2009-12-09 15:09:00 · 957 阅读 · 0 评论