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

每日刷题记录贴

🔗
 楼主| jerryzzf 2020-5-28 16:33:15 | 只看该作者
全局:
刷完 3 道 Union Find 的题目。(3/3)
主要是用来准备明天的算法沙龙罢了~
回复

使用道具 举报

🔗
 楼主| jerryzzf 2020-5-30 04:25:12 | 只看该作者
全局:
刷完 3 道 DP 的题目。(3/3)
emmmmm
回复

使用道具 举报

🔗
yeehaah 2020-5-31 01:51:21 | 只看该作者
全局:
建议楼主参加这个活动 https://www.1point3acres.com/bbs/thread-640427-1-1.html,每天刷题打卡可以拿到大米 而且这样我可以帮忙监督你
回复

使用道具 举报

🔗
 楼主| jerryzzf 2020-6-2 04:29:16 | 只看该作者
全局:
刷完 3 道 DP 的题目。(3/3)
惭愧啊!!!周末被我莫名其妙荒废了。。。
回复

使用道具 举报

🔗
 楼主| jerryzzf 2020-6-2 06:57:32 | 只看该作者
全局:
刷完 2 道 Heap 的题目。(1/2)
好难哦
回复

使用道具 举报

🔗
 楼主| jerryzzf 2020-6-3 10:33:02 | 只看该作者
全局:
连续第 2 天打卡,完成 5 道 Graph, DFS, BFS & Linked List 题:
1. Course Schedule
2. Course Schedule II
3. Minimum Height Trees
4. Delete Node in a Linked List
5. Remove Linked List Elements

Tips 总结:
1. 熟悉掌握 Graph 的三种 representations 及其各自的 time complexity & space complexity:Edge List, Adjacency Matrix, Adjacency Lists(最后一种最为常用!!!);
2. 熟悉掌握 Graph 的 DFS 与 BFS 遍历,其中 undirected graph 需要引入 visited array 来防止 infinite loop;
3. Linked List 问题引入 dummy head 可以减少 edge cases 的处理!!不管三七二十一,给我用起来!!一般用 Two Pointer 法可以解决几乎一切 Linked List 问题,还是很简单的。
回复

使用道具 举报

🔗
 楼主| jerryzzf 2020-6-4 11:40:12 | 只看该作者
全局:
连续第 3 天打卡,完成 3 道 DFS, BFS & Sort 题:
1. Two City Scheduling
2. Word Ladder
3. Minimum Genetic Mutation

Tips 总结:
1. 做随机面试题永远要尝试着去分析本质,然后去找到解题所用到的方法(tags),尝试“模块化”解题,而不要盲目地想各种诡异的解法;
2. 比如第一题的本质就是 custom sort;
3. 再比如第二题和第三题本质上是一摸一样的,都是 graph 的 Breadth-first-search,vertices 是所有的 valid words,edges 是单字母变动关系!这么一分析,题目就变得很简单了!为了快速检查某单词是否为 valid word,我们要将 word list 转化为 word set~

Screen Shot 2020-06-03 at 8.29.31 PM.png (206.72 KB, 下载次数: 0)

Screen Shot 2020-06-03 at 8.29.31 PM.png
回复

使用道具 举报

🔗
 楼主| jerryzzf 2020-6-5 13:20:31 | 只看该作者
全局:
连续第 4 天打卡,完成  道 String, Linked List, Two Pointers 题:
1. Reverse String
2. Reverse String II
3. Reverse Vowels of a String
4. Middle of the Linked List
5. Reorder List

Tips 总结:
1. 除去较为复杂的算法,Array, Linked List, String 这类 linear data structure 基本上使用 two pointers 就可以解决;
3. 其中,Linked List 若引入 dummy head 可以有效地减少 edge cases 的讨论,使得代码变得更加漂亮;
2. 进一步抽象化,我们可以得出 Linked List 主要有找 middle 啦,reverse 啦,merge 啦等基本操作,熟悉掌握其代码可以使我们在解 Linked List 难题的时候更加轻松;
3. Linked List 稍微复杂一点的题都是上述基本操作的组合使用,仔细分析下还是可以解决的;

Screen Shot 2020-06-04 at 10.20.02 PM.png (205.86 KB, 下载次数: 0)

Screen Shot 2020-06-04 at 10.20.02 PM.png
回复

使用道具 举报

🔗
 楼主| jerryzzf 2020-6-7 13:24:48 | 只看该作者
全局:
连续第 5 天打卡,完成 3 道 Binary Search, Divide & Conquer, Sort 题:
1. Find Index Equals Value
2. Median of Two Sorted Arrays
3. Queue Reconstruction by Height

Tips 总结:
1. 一看到题干里有 "given a sorted array", "given two sorted arrays", "given a sorted matrix", etc... 就要条件性地想到 Binary Search 的方法;
3. 熟练掌握 Binary Search 的精髓,也就是 Divide & Conquer 思想的延伸,一分为二、以小解大;
3. Binary Search 的题目根据 Search Space 的不同基本上可以分为两类:在 indices 上进行的 Binary Search 和 在 value range 上进行的 Binary Search。后者更难,后续需要补充训练;
4. 第 3 题太妙了,先 custom sort 再 一个个 insert 到它们该去的位置,本来以为这样会超时!没想到 accepted !!

Screen Shot 2020-06-06 at 10.24.25 PM.png (234.29 KB, 下载次数: 0)

Screen Shot 2020-06-06 at 10.24.25 PM.png
回复

使用道具 举报

🔗
 楼主| jerryzzf 2020-6-9 14:32:03 | 只看该作者
全局:
连续第 6 天打卡,完成 5 道 Binary Search, Bit Manipulation, Trie, Design, DFS 题:
1. Power of Two
2. Implement Trie (Prefix Tree)
3. Add and Search Word - Data structure design
4. Replace Words
5. Implement Magic Dictionary

Tips 总结:
1. 遇到数学题,多动动脑子,往 Bit Manipulation 方向想一下, 可能会有一种很快并且很节省空间的解法;
3. 熟练掌握 Trie (Prefix Tree) 的原理、应用及其相较于 Hash Table 和 Search Tree 的优势;
3. Trie 的特殊操作实现常常结合了 DFS,其实也是很正常的,毕竟 Trie 本质上是一个 Tree;

Screen Shot 2020-06-08 at 11.31.40 PM.png (224.3 KB, 下载次数: 0)

Screen Shot 2020-06-08 at 11.31.40 PM.png
回复

使用道具 举报

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

本版积分规则

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