📣 独立日限时特惠: VIP通行证立减$68
查看: 8321| 回复: 12
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 如何高效的刷题?从happy number说起

 
全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
经常听到一些朋友询问,leetcode刷了xx道,xx遍可否去面试了,能不能拿到xx offer?我个人觉得,凡是问有这种疑问的朋友,一般都不是刷题高手,并没有理解刷题之道!
回想起当年备考GRE, 就想到一种流行的说法,备好单词就行了,但是发现单词背的好并不完全等同于GRE高分,刷题其实和备考GRE是一样的,不在乎多少遍多少道,关键在于理解并且能把算法题给别人讲清楚(当然一定数目的算法题练习是必需的)。

来一道题目体验下: Happy Number

在真实面试的时候,如果遇到这道题目,很多刚开始刷题的求职者上来就说想实现code,把答案写出来! Hold on! Hold on!

推荐的解题逻辑:

1. 解读题目的含义与讲讲函数signature输入和输出是什么
2. 讲解算法(非实现),依据算法需求选择数据结构
3. 代码实现
4. 找测试数据,验证code正确性
5.分析算法复杂度与空间复杂复杂度

这里面涉及编程语言考点(java为例)
  • hashset /treeset的区别;
  • 为什么选择hashset?
  • java最大的integer是多大?
  • 如何估计2^31-1 的大小?
  • 补码和反码
关于这道题目背景与很多求职者交流情况

1.这道题目Uber曾经面试过,题目看起来很简单,但是全部都能答对不容易。这道题我问了大概50个人分析时间复杂度,没见过能分析特别明白的。

2. 依照这个题目,引申问了很多java的知识点,70%的人或多或少都有不会的。比如估计2^31-1 这个数的大小吧,很多转专业的人不知道在计算机里面有个很重要的估计方法2^10 = 1000,很能反映出求职者的基本素质。Apple曾经面试过一道题:2的最小多少次幂大于10万,对2^16= 65536 这种数字的记忆能反映出码农的基本素质。

3.大部分同学并没有建立起依据算法需求选择数据结构的逻辑链条:为什么要选择Hashset 而不选择treeset?为什么选择hashset 而不用hashmap?对基本数据结构掌握不牢固,将算法和数据结构混为一谈,是转专业同学的大问题。

4. 一道题目其实可以引申出很多计算机基本知识点,补码和反码什么的,overflow,这些都应该在刷题时候好好查一查,否则容易阴沟里翻船
下面是该题目的讲解视频
http://v.youku.com/v_show/id_XMTUzMTgwMzQyOA==.html?from=y1.7-1.2



评分

参与人数 5大米 +81 萝卜 +8 收起 理由
凌曦 + 20 感谢分享!
小艾哥 + 3 很有用的信息!
elyn + 3 感谢分享!
爱丽丝和鲍勃 + 50 + 8
Believers + 5 感谢分享!

查看全部评分


上一篇:征leetcode刷题战友~互相督促,共同进步
下一篇:工作刷题,求组队
全局:
现在刷题也就考虑个时空复杂度之类的不同解法。。。。转专业渣渣表示这个很有用 然后借楼求问happy number的时间复杂度怎么看?
回复

使用道具 举报

推荐
timeyi 2016-4-15 15:32:58 | 只看该作者
全局:
lz4321234 发表于 2016-4-14 07:31
视频看不了 链接可以发一下么

找到了原文是这个:http://zhuanlan.zhihu.com/p/20737437
回复

使用道具 举报

推荐
cptn3m0 2016-6-12 17:50:04 | 只看该作者
全局:
确实如LZ所说, 考察的是面试者的功底, 而这些功底就需要融汇贯通知识.
回复

使用道具 举报

🔗
ykwwind 2016-4-12 15:36:45 | 只看该作者
全局:
硬件狗倒是看着估算特别亲切........
回复

使用道具 举报

全局:
ykwwind 发表于 2016-4-12 15:36
硬件狗倒是看着估算特别亲切........

是啊。。。
回复

使用道具 举报

🔗
elyn 2016-4-12 19:21:13 | 只看该作者
全局:
mark, 谢谢分享
回复

使用道具 举报

🔗
wangs7 2016-4-12 21:10:27 | 只看该作者
本楼:
全局:
感谢分享
回复

使用道具 举报

🔗
Latte 2016-4-13 16:30:56 | 只看该作者
全局:
lz, 好文,那个啥,视频咋看不了啊
回复

使用道具 举报

🔗
ok123 2016-4-14 07:23:21 | 只看该作者
全局:
>>补码和反码
为什么与 bitwise有关?能解释一下吗
回复

使用道具 举报

🔗
lz4321234 2016-4-14 07:31:12 | 只看该作者
全局:
视频看不了 链接可以发一下么
回复

使用道具 举报

全局:
前辈你好 想请问一下刷leetcode题目建议按什么样的顺序进行呢?谢谢~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表