发表时间:2011-12-14
这样的面试题,你会吗?
——博文视点有奖答题活动 程序员求职找工作,谁也逃不掉做编程面试题,这样的面试题,你做过吗?春节过后新一轮的招聘季即将到来,你准备好迎接面试官的挑战了吗?ITeye&CSDN联合电子工业出版社博文视点推出有奖答题活动,只要你开动脑筋,积极参与,不仅可以锻炼自己的答题能力,更有机会获得由博文视点送出的畅销精品图书——《剑指Offer:名企面试官精讲典型编程题》。心动不如行动,让智慧为你赢得新年好运大礼吧! 活动时间:2011年12月14日—12月25日(已截止) 活动流程: 1.为避免抄袭,请将以下两道编程题的答案站短给ITeye管理员,或发送邮件至webmaster(at)iteye.com。 提交答案时,请尽量以压缩包形式提交,标题为:有奖答题-账号ID 2.答案将由《剑指Offer:名企面试官精讲典型编程题》作者何海涛老师,根据提交的思路及答案评选出5位获奖者。 3.每位获奖者均可获得博文视点最新热销图书《剑指Offer:名企面试官精讲典型编程题》1本。 请注意:直接回复在本帖中的内容视为讨论,不能参加最终评选。 有奖答题第一题:二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 例如下面的二维数组就是每行、每列都递增排序。如果在这个数组中查找数字7,则返回true;如果查找数字5,由于数组不含有该数字,则返回false。 有奖答题第二题:青蛙跳台阶问题 (1)一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。(2)一只青蛙一次可以跳上1级台阶,也可以跳上2 级……它也可以跳上n 级,此时该青蛙跳上一个n级的台阶总共有多少种跳法? 看完题目是不是跃跃欲试?快来提交你的答案吧!下一个面霸就是你! 图书介绍 《剑指Offer:名企面试官精讲典型编程题》 何海涛 编著 ISBN 978-7-121-14875-0 45.00元272页 面试官的视角 50余道编程题 系统的解题方法超写实体验与感悟 内 容 简 介 本书剖析了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点。全书分为7章,主要包括面试的流程,讨论面试流程中每一环节需要注意的问题;面试需要的基础知识,从编程语言、数据结构及算法三方面总结了程序员面试的知识点;高质量的代码,讨论影响代码质量的的3个要素(规范性、完整性和鲁棒性),强调高质量的代码除了能够完成基本的功能之外,还能考虑到特殊情况并对非法输入进行合理的处理;解决面试题的思路,总结在编程面试中解决难题的常用思路,如果在面试过程中遇到了复杂的难题,应聘者可以利用画图、举例和分解复杂问题3种方法化繁为简,先形成清晰的思路再动手编程;优化时间和空间效率,介绍如何优化代码的时间效率和空间效率,读完这一章读者将学会常用的优化时间效率及空间换时间的常用算法,从而在面试中找到最优的解法;面试中的各种能力,本章总结应聘者在面试过程中如何表现学习能力和沟通能力,并通过具体的面试题讨论如何培养知识迁移能力、抽象建模能力和发散思维能力;两个面试案例,这两个案例总结了应聘者在面试过程中哪些举动是不好的行为,而哪些表现又是面试官所期待的行为。 本书适合即将走向工作岗位的大学生阅读,也适合作为正在应聘软件行业的相关就业人员和计算机爱好者的参考书。 已参加活动的用户: buptwhisper、zm2011、sxpyrgz、key232323、houzhe11、sha851092391、happysoul、fireflyc、floger、神之小丑、aazc、csumissu、iceelor、Ku_wan、yangguo、guazi、mahonet、simafengyun、SimonJ07、sinly、willothe、laic_dong、zhengshao01、ljw0613、fhdone、chengjf0526、IThead、aa00aa00、Sand-Storm、176915785、kissau、yvonzh、coldsummerwei、liuqing_2010_07、lusx、fushizhe、dyccsxg、nmgxzm2001、flyer0126、基德KID.1412、wjt9989、dsjt、sd58811420、qinweiping、zzxstudynumber、zhang177177、commanbase、豌豆苗、louisling、wdhdmx、yq135314、yun_hua_yu 非常感谢各位朋友的踊跃参与,已提交答案但是没有收到确认信件的朋友请与管理员联系,活动截止后不再接收答案,谢谢。 |
|
发表时间:2011-12-14
加量不加价吧 45太贵了 哈哈
|
|
发表时间:2011-12-14
这个题目不就是一个简单的遍历啊? 难道有什么诀窍吗?
|
|
发表时间:2011-12-14
广告贴啊。。
|
|
发表时间:2011-12-14
zhanghh321 写道 这个题目不就是一个简单的遍历啊? 难道有什么诀窍吗?
以为只是宣传呢, 原来还是有奖竞猜 |
|
发表时间:2011-12-14
dsjt 写道 zhanghh321 写道 这个题目不就是一个简单的遍历啊? 难道有什么诀窍吗?
二分法 对角线上二分, 友情提示,知道答案的朋友请不要在这里说出来,要不然活动就没意思了。 |
|
发表时间:2011-12-14
先给个比较蛋疼的解法
private static int[][] arr = {{1,2,8,9},{2,4,9,12},{4,7,10,13},{6,8,11,15}}; private static boolean check1(int n){ int c = 0; while(c<arr.length){ for(int i:arr[c]){ if(i==n)return true; } c++; } return false; } 其实2维数组采用对角线切分可以简化循环次数 对此题1,4,10,15 二分可以减少很多次数值比较 例如寻找5 第一行到8的时候跳出循环比较 第二行从4开始, 小于5向右寻找,遇9跳出 第三行从10开始,大于5向左寻找,遇4跳出 第四行从15开始,大于5向左寻找,无果跳出结束 优化 如果在第一行遇到8跳出的时候数组为[0][2] 第二行应该使用[1][1]起向左寻找 第三行使用[2][1]开始向左寻找,发现[2][1]大于5,减位查找 第四行使用[3][0]开始向左寻找,最终无果跳出 减位查询可以最大化的减少对比次数,不过这种[3][3]的比较也许这效率更加蛋疼 |
|
发表时间:2011-12-14
收到管理员的信了~~~
我这个本来也不是答案啊!都说了是比较蛋疼的解法 再就是对这书没兴趣不如直接看算法 顺带提醒下编辑,主页的内容更新可不可以放点有价值的 广告、喷贴、标题党 有时候点进去然后看右侧的相关文章都比直接看无养分的文章有价值 |
|
发表时间:2011-12-14
书卖不出去了
|
|
发表时间:2011-12-14
表示面试还没有碰到过编程题的飘过
|