锁定老帖子 主题:两道笔试题,在找工作的可以看看
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-19
许文强 写道 william_ai 写道 发哥,要是只看薪水,那就别找local的职位。
发哥指我吗? 我能力有限,半路出家,薪水就不做梦了,老实的存几年钱去创业吧。 周润发的成名角色许文强,亏你想得出来用这个名字,O(∩_∩)O哈哈~ 自己创业的话,也建起赚老外的钱,欧美系的钱还是比较好赚的。 |
|
返回顶楼 | |
发表时间:2011-04-19
背过JDK源码。。。。估计就会了。。
|
|
返回顶楼 | |
发表时间:2011-04-19
第二题照搬书上的,有啥难的。
有点要求的公司,肯定会把题目稍微改一下。。。。 比如三堆或到N堆的。。。 |
|
返回顶楼 | |
发表时间:2011-04-19
= =!表示从来没笔试过...
|
|
返回顶楼 | |
发表时间:2011-04-19
cttnbcj 写道 第二题照搬书上的,有啥难的。
有点要求的公司,肯定会把题目稍微改一下。。。。 比如三堆或到N堆的。。。 对你来不难,对我这样的就难了。什么书上的,介绍下 |
|
返回顶楼 | |
发表时间:2011-04-19
许文强 写道 cttnbcj 写道 第二题照搬书上的,有啥难的。
有点要求的公司,肯定会把题目稍微改一下。。。。 比如三堆或到N堆的。。。 对你来不难,对我这样的就难了。什么书上的,介绍下 组合数学上方面的书基本全部都有介绍原理。神马NIM取子、巴什博奕、威佐夫博奕。。。。一坨坨的。。。。基本看过就忘,忘了看一边就记住了,又马上忘。。。。。现实中基本不会去搞。。。 |
|
返回顶楼 | |
发表时间:2011-04-20
最后修改:2011-04-20
LZ第一题还是有比较直观的解法的: public class HLBitExchanger { public static int exchange(int i) { int j = 0; for (int n = 0; n < 32; n++) { j = j << 1; //空出j的最低位 j = j | i & 1; //把i的最低位保存到j的最低位 i = i >> 1; //移出i的最低位 } return j; } public static String fmtBinaryStr(int i) { String str = Integer.toBinaryString(i); StringBuilder fmtStr = new StringBuilder(32); for (int n = 0; n < 32 - str.length(); n++) fmtStr.append("0"); return fmtStr.append(str).toString(); } public static void main(String[] args) { System.out.println(HLBitExchanger.fmtBinaryStr(8888)); System.out.println(HLBitExchanger.fmtBinaryStr(HLBitExchanger.exchange(8888))); } } 00000000000000000010001010111000 PS: 不用中间变量的话,是有点费解的 |
|
返回顶楼 | |
发表时间:2011-04-20
我想问一下楼主,这两题是在纸上考呢,还是上机考?
|
|
返回顶楼 | |
发表时间:2011-04-20
public class Test { public static int reverse(int num){ int result = 0; int one = 1; int mask = 0; for(int i=0; i<32; ++i){ mask = one<<i; if((num & mask)==mask) result |= one<<(31-i); } return result; } } 有没有人出8000请我? |
|
返回顶楼 | |
发表时间:2011-04-20
最后修改:2011-04-20
我觉得第二题有必胜的办法
两堆相等就不说了 如果不相等 要看少的那一方是奇数个还是偶数个 如果是偶数个并且相差大于一个的话 那么先手胜 等于一个的话 后手胜 如果是奇数个并且相差大于一个的话 那么后手胜 等于一个的话 先手胜 这个结果对吗 |
|
返回顶楼 | |