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

刷题记录帖子

🔗
 楼主| Myron2017 2020-10-7 06:55:47 | 只看该作者
全局:
701 Insert into a Binary Search Tree

啊啊啊啊啊啊啊啊啊啊啊,居然忘记了 BST 的 insert。

其实错误就发生在写法上,最简洁的方法是 如果 遇到null node 就是插入的 node,这个时候确实是需要新建 node 但是也相应的丢掉了,新建 node 的 parent。所以解决方法就是层层 递归的时候层层赋值

回复

使用道具 举报

🔗
 楼主| Myron2017 2020-10-8 00:29:24 | 只看该作者
全局:
61. Rotate List

经典题,原来的想法是把 value 存在 list 里面,但是更好的方法是学习了这个 讲解 https://maxming0.github.io/2020/10/07/Rotate-List

思想是:

(1) 把 linked list 变成 cycle list
(2) 然后找到 tail,做两件事,一,把 head 移动到 tail 的next,二, 把 tail 的 next set None

return head 即可。




我原来的 code 真是渣实现,反省!

回复

使用道具 举报

🔗
 楼主| Myron2017 2020-10-8 20:33:39 | 只看该作者
全局:
704. Binary Search

基础题,easy。注意 Binary Search, left <= right



回复

使用道具 举报

🔗
 楼主| Myron2017 2020-10-9 23:07:00 | 只看该作者
全局:
449 Serialize and Deserialize BST

其实题目还是很经典,很实用的。但是如何简单高效地实现就是考验功力的地方。

先序遍历tree,然后存下来,注意 int 变成 str 之后必须指定 seperator 不然你不知道怎么切割。
然后,直接在建立树的时候带入,左右子树的范围,开始是 -inf 到 +inf。

具体讲解在这儿, https://maxming0.github.io/2020/ ... nd-Deserialize-BST/

回复

使用道具 举报

🔗
 楼主| Myron2017 2020-10-10 22:38:18 | 只看该作者
全局:
452 Minimum Number of Arrows to Burst Balloons

经典的 greedy 题。

https://maxming0.github.io/2020/ ... -to-Burst-Balloons/

回复

使用道具 举报

🔗
 楼主| Myron2017 2020-10-13 09:12:07 | 只看该作者
全局:
316 Remove Duplicate Letters AND 1081. Smallest Subsequence of Distinct Characters

真是经典题目,删除当前已经有的 char 的条件是,新加入的 char 更小,同时 后面还有想删除的字符,同时 stack 不为 空。
stack 为空,则直接加入即可。

Leetcode 会出现重复题目,比如这道题就是 316, 1081 完全是相同的题目,充分说明 核心题目在大约 500 道 左右。

回复

使用道具 举报

🔗
 楼主| Myron2017 2020-10-13 09:28:26 | 只看该作者
全局:
859. Buddy Strings

简单题,还是要找到 base case 然后分类讨论。

回复

使用道具 举报

🔗
 楼主| Myron2017 2020-10-14 04:16:22 | 只看该作者
全局:
148 Sort List

真是经典题,虽然是用 merge sort 做,但是还是有很多细节要记忆,比如如何找到 linked list 的中间点。

回复

使用道具 举报

🔗
 楼主| Myron2017 2020-11-10 02:32:44 | 只看该作者
全局:
LC 1026 Maximum Difference Between Node and Ancestor

还是很经典的 BST 题目, 递归解决,在每层,都update自己这个路径上最大和最小值,然后更新下全局最大的 abs。

回复

使用道具 举报

🔗
 楼主| Myron2017 2020-11-10 02:42:19 | 只看该作者
全局:
LC 1290. Convert Binary Number in a Linked List to Integer

其实做起来还是很简单的,我是直接用数值方法来做,就是不断 x 2,加上现在的数字。这个原理是可以把二进制写成关于2的多项式的和。然后直接 x2 就是那个多项式2的指数。



不过还有一个方法,是用到 bit operation 的特性。还是要记忆下,这个是 Python 的惯用法。

回复

使用道具 举报

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

本版积分规则

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