微软面试题_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 微软面试题 >>列表
· 微软面试题:求1的个数之小解发布时间:2010-12-02
原题目:给定一个十进制数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有"1"的个数。例如:N=2,写下1,2。这样只出现了1个"1"N=12,写下1,2,3,4,5,6,7,8,9,10,11,12。这样"1"的个数是5请写出一个函数,返回1到N之间出现"1"的个数,比如f(12)=51packageorg.blogjava.arithmetic;23/***//**4*@authorJack... 查看全文
给定一个长度为N的整数数组,只允许用乘法,计算任意(N-1)个数的组合乘积中最大的一组,并写出算法的时间复杂度。最容易想到的就是通过一次遍历把所有(N-1)个数的组合找出来,分别计算他们的乘积,并比较大小。由于总共有N个(N-1)个数的组合,总的时间复杂度为O(N的2次方),显然这不是最好的解决办法。且看下面的实现方法,当然也是比较简单的,毕竟没太多时间思考,他的时间复杂度只有O(N)。当然肯定有其他的方式解决这个问题,blog友如果有好的方式可以贴出来分享。谢谢!1packageorg... 查看全文
· 微软面试题:阶乘问题发布时间:2010-12-02
阶乘是个很有意思的东西,可能很多朋友看到关于他的计算就怕了,其实没什么,看完下面两个问题您应该有低了。1.给定一个N,求出N!末尾有多少个零,比如N=10,N!=3628800,N!末尾有两个零。2.求N!的二进制表示中最低为1的位置,比如11010010,最低为1的位置为2。问题一解法:在上一个blog中介绍的子数组乘积最大值的问题中,有朋友考虑到溢出的问题,在这个问题中,我们从那些数相乘能得到10这个命题开始思考。比如N!=K×10m那么N!后面就有m个零。这个问题转化为将N... 查看全文
网上有不少Microsoft的测试题,引来不少的眼光。在这里把所有的测试题加以整理,再附上答案。(个别题目答案有多种,文本仅代表作者的思路)每道题的后面会给出一个时间。这个时间是作者做出该题所用的时间。(注意,这不是什么标准时间,相信所有浏览本试卷的朋友都会在某一道或多道题上找到灵感,迅速解题的)!一.最基本题型(说明:此类题型比较简单)1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时)2... 查看全文