楼主: amcw7777
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode] 刷题经验和讲解整理

 
🔗
水锦鲤 2019-1-28 14:02:30 | 只看该作者
本楼:
全局:
支持一下!
回复

使用道具 举报

🔗
dellian 2019-2-19 23:24:52 | 只看该作者
全局:
谢谢楼主的总结,很实用。有些自己的建议,供讨论。
1. Pythonic.
1) Python没有integer overflow, 所以我们不需要写mid = start + (end-start)/2,而是简单地 mid = (start + end) // 2
2) Python里int也没有最大值,所以其他语言的sys.maxint一般写成float("inf")
2. 二分法. left < right – 1的终止条件是left和right直接相邻,左left,右right,没有mid这第三个值出现(此时的mid等于left)。
3. BFS. Temp=q.pop(0)这一步时间复杂度是O(n)吧。如果改用collections.deque,然后temp = queue.popleft(),这样就approximately in O(1)了。

评分

参与人数 2大米 +6 收起 理由
Mikey + 1 很有用的信息!
amcw7777 + 5 多谢提醒!

查看全部评分

回复

使用道具 举报

🔗
Joe135 2019-2-20 23:39:36 来自APP | 只看该作者
全局:
很详细谢谢楼主!!
回复

使用道具 举报

🔗
 楼主| amcw7777 2019-2-27 05:04:55 | 只看该作者
全局:
dellian 发表于 2019-2-19 23:24
谢谢楼主的总结,很实用。有些自己的建议,供讨论。
1. Pythonic.
1) Python没有integer overflow, 所以 ...

多谢指正,确实平时Python用的不多,都是刷题才用的,学习啦;二分法的话,我的想法是在while中如果mid正好是答案就直接return,如果跳出while还没有找到答案,那就分别检验left和right;BFS你说的是对的,面试的时候我也是特别强调了实际上的q是一个queue,而不是list。
再次多谢
回复

使用道具 举报

🔗
diemenju 2019-3-12 05:48:58 | 只看该作者
本楼:
全局:
特别棒。。。。。。。
回复

使用道具 举报

🔗
oceannight 2019-3-14 02:05:30 | 只看该作者
全局:
楼主好人啊。赞总结!
回复

使用道具 举报

🔗
zxu7 2019-3-15 03:00:26 | 只看该作者
全局:
谢谢楼主分享!
回复

使用道具 举报

🔗
datouhsu 2019-3-19 14:10:09 | 只看该作者
全局:
谢谢分享~
回复

使用道具 举报

🔗
annig 2019-3-29 00:30:32 | 只看该作者
全局:
谢谢分享!很有用!
回复

使用道具 举报

🔗
jiangqueque 2019-3-29 06:24:13 | 只看该作者
全局:
LZ总结非常到位,感谢分享~~
回复

使用道具 举报

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

本版积分规则

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