摘要: 第一道:据说是google面试题有N个整数,求其中任意N-1个数的乘积中的最大值。例如-4,-1,2的最大值就是4;最好给出复杂度分析。这道题我没有找到标准答案,大家可以把自己的想法贴出来讨论一下。第二道:编程练习题 POJ1163 The Triangle 73 88 1 0 2 7 4 4 4 5 2 6 5The above figure shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at the top a 阅读全文
posted @ 2011-01-03 23:26 华工微软俱乐部科技部 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 教授选出两个从2到9的数(可以相同),把它们的和告诉学生甲,把它们的积告诉学生乙,让他们轮流猜这两个数 甲说:“我猜不出”  乙说:“我猜不出”  甲说:“我猜到了”  乙说:“我也猜到了”  问这两个数是多少-----------------------------------------------------------------------------------------参考答案:  设两个数为n1,n2,n1 =n2,甲听到的数为n=n1+n2,乙听到的数为m=n1*n2  证明n1=3,n2=4是唯一解  证明:要证以上命题为真,不妨先证n=7  1)必要性:  i) n 阅读全文
posted @ 2011-01-03 23:25 华工微软俱乐部科技部 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 设计一个算法把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。------------------------------------------------------------------------------------------------------答案:每个元素右移N位后都会回到自己的位置上。因此,如果KN,右移K-N之后的数组序列跟右移K位的结果是一样的,所以右移K位即,右移K‘=K%N位。代码如下RightShift(int* arr,int N,int K){K%=N;while(K--){int t=arr[N-1];for( 阅读全文
posted @ 2011-01-03 23:21 华工微软俱乐部科技部 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 初始时数123显示在计算机屏幕上。每一分钟计算机都给屏幕上的数加上102,计算机专家Bill可任意改变计算机屏幕上所显示数的各位数字的前后顺序,试问Bill能否永远不让屏幕上出现有4位数字的数?-------------------------------------------------------------------------------------------------答案:解法1:Bill能够防止屏幕上出现4位数,他的操作方法如下:先将123改成312,然后静观计算机屏幕上依次出现414、516、618、720。此时他将720改成027。再静观计算机屏幕上出现129、231。 阅读全文
posted @ 2011-01-03 23:19 华工微软俱乐部科技部 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水20小时后就会死亡,现在用十只小白鼠来验毒,要求在24小时内找到混有毒药的那瓶水,怎么做?--------------------------------------------------------------------------------------------------------------------------------------------答案:给1000个瓶分别标上如下标签(10位长度):0000000001 (第1瓶)0000000010 (第2瓶)0000000011 (第3瓶)......1111101 阅读全文
posted @ 2011-01-03 23:16 华工微软俱乐部科技部 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 农夫John有三个装牛奶的桶,容量分别为A、B、C,数字A、B、C是1到15的整数,开始时A桶、B桶为空,C桶装满牛奶。农夫John装牛奶从一个桶倒向另一个桶,直到该桶为空或另一个桶满为止,一个倒牛奶的操作一旦开始也会结束,写一个程序帮助农夫John找出从上述状态开始在三个桶之间倒牛奶,桶C中可能剩余的牛奶的体积。运行举例:enter A B C:8 9 10 answer:1 2 8 9 10----------------------------------------------------------------------------------------------------- 阅读全文
posted @ 2011-01-03 23:12 华工微软俱乐部科技部 阅读(271) 评论(0) 推荐(0) 编辑
摘要: (tx面试题)有N个整数(N>1亿),设计算法找出其中前M个最大的数(0<M<N)的高效算法,分析其时空复杂度----------------------------------------------------------------------------------------------------------------------------------------... 阅读全文
posted @ 2010-11-07 18:16 华工微软俱乐部科技部 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 如果要你编写一个程序运行在现代微机上(比如C+Linux+x86平台上),那么, 影响程序运行性能的因素有哪些,如何改进提高性能?可以从软硬两方面一起讨论答案:从硬件上讲应该尽量提高cache命中率,而有关指令并发度的由编译器的优化功能来实现。软件上讲应该尽可能多的配合底层操作系统以高程序性能,比如在缓冲区的使用上应该尽可能多的配合操作系统底层文件缓冲区。在内存分配上也应该避免垃圾产生。使用不用的... 阅读全文
posted @ 2010-10-26 23:10 华工微软俱乐部科技部 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字。(原数组不必保留)这个题有多种方法,想想看~~~ 阅读全文
posted @ 2010-10-22 21:42 华工微软俱乐部科技部 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 可爱的java,可爱的陷阱~“佳洁士”(小洁?)一直写C/C++程序,最近在图书馆偷窥了一下java……1、从最简单的开始,佳洁士写了一个判断所给整数i是否为奇数的java方法,请问,这个方法能得到正确结果么?为什么?public static boolean isOdd(int i){ return i % 2 == 1; } 2、佳洁士go... 阅读全文
posted @ 2010-10-20 22:48 华工微软俱乐部科技部 阅读(254) 评论(0) 推荐(0) 编辑