首页 > 就业 > 笔试

多玩笔试

多玩笔试



多玩笔试

多玩(欢聚时代)的笔试又挂了,真是桑心死了。本来招那么多人,看着挺有希望的,而且笔试的时候,想破脑袋把最后几道编程题给想出来了。虽然不知对错,但还是抱有一点希望可以进一面的,结果还是和腾讯一样笔试就挂了。看来前面的基础知识还是做得很不好,很多java的知识都忘了,现在真是什么都忘了,操作系统忘了,java忘了,悲剧。。。。。。 算了,还是回忆一下,把能想起的题记录一下算了。
1,StringBuilder和StringBuffer有什么区别?在什么场合下使用? 网上讲的是:类似于HashTable和HashMap,HashTable是线程安全的,很多方法都是synchronized方法,而HashMap不是线程安全的,但其在单线程程序中的性能比HashTable要高。StringBuffer和StringBuilder类的区别也在于此,新引入的StringBuilder类不是线程安全的,但其在单线程中的性能比StringBuffer高。 无奈我记反了,唉。。。。。 详细介绍请看:/s/blog_73cdc7a60101chpp.html
2,TCp/IpV4协议。 这个我居然想不起“表示层”,唉,活该被刷。 详细介绍请看:/s/blog_73cdc7a60101chq7.html
3,计算两个字符串的最小差异值: A串比B串短,可以在A串首尾随意添加字符,求添加后A串和B串的差异值。如: A:abc B:efgajkadce 在A串首尾添加后得到efgajkabce,与B串efgajkadce的差异值为1。 求函数int fun(String a, String b) 我的思路:因为A串中间不能插入新的字符,所以不管在A的首尾添加多少字符,最终最小差异值是以A的长度来和B上所有这个长度的子串来比较而得到的。所以可以以B.length - A.length + 1 为循环,比较找出这个最小差异值。如下: 第一次,结果为3: efgajkadce abc 第二次,结果为3: efgajkadce abc 第三次,结果为3: efgajkadce abc 第四次,结果为2: efgajkadce abc ...... ...... 第七次,结果为1: efgajkadce abc ...... 最后即可得出答案。 不知道这种想法对不对,也不知有没有更好的方法,毕竟这个的复杂度是O(mn)。
4,字符串“AAABBBAB”,通过改动字符,使得所有A都在B左边,求最少改动次数。如: AAABBBAB=1 BBBBAAAA=4 我的思路是找到字符串\"BA\",然后将其删去,重复这个过程,直到找不到。比如对于ABABABABAABAB: 1,A(BA)BAABABAABAB 2,A(BA)ABABAABAB 3,AA(BA)BAABAB 4,AA(BA)ABAB 5,AAA(BA)B 6,AAAB 结束,即最少改动次数为5。
5,文本编辑器,这道题网上有,考试前瞄了一下,也使用hashmap做的,具体看:/s/blog_73cdc7a60101chrj.html

相关内容

热门阅读
随机推荐