查看: 4926| 回复: 35
跳转到指定楼层
上一主题 下一主题
收起左侧

打卡刷利口刷面经备战BB帖

全局:

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

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

x
五月毕业了, opt应该六月中旬开始。发一个打卡刷题贴,备战BB,备战秋招!
由于没有经验准备不足,投的早,已经被二电面后狗家拒了。
还有一个BB电面在6/4, 为BB电面以及hopfully如果过了的onsite准备。
打算在grace period里面每天铺天盖地刷题,刷利口和地里BB面经,直到上岸!!~
总结知识点,做一个理性的人,为做软件工程师做准备!!~
欢迎提出宝贵意见,也欢迎有相同情况小伙伴一起讨论,互相鼓励,欢迎加微信 625793749

5/23:
1. 用recursive实现两重for循环
2. recur&iter实现in order traversal, preorder traversal
3. 利口17 手机键盘 dfs
4. 利口20 括号验证 stack
5. zigzag 遍历一棵树 bfs
6. find all subsets a,b,c  dfs
7. find all permutaions of 3 ()
8. find all permutation abc  dfs

5/24:
1. valid anagram
2. lc105 construct bst from pre &in
3. lc100 is same tree
4. lc101 is symmetric tree
5. lc104 算BT高度
6. lc110 is balanced tree, 算高度然后recursive看每一个node左右高度相差小于等于1
7. lc98 is BST,recursive 设置区间范围
8. is complete tree both bsf dfs
9. lc112,113 path sum Dfs 返回符合和为sum的树枝,把树画出来,一步一步分析

5/25:
1. lc62 unique paths dp
2. lc63 unique paths2 变形有obstacle  dp
3. 变形 unique path 经过x y点概率
4. lc64 minimun path sum  dp

评分

参与人数 1大米 +3 收起 理由
chiaki + 3 给你点个赞!

查看全部评分


上一篇:战拖!为了心中的梦想
下一篇:暑假刷题mark一下
推荐
 楼主| sunx0619 2018-5-27 13:03:33 | 只看该作者
全局:
5/25  3*3 grid 下棋判断输赢 游戏结束与否 三子相连 follow up m*n k相连
今天主要把BB tag Easy做了一遍
5/26
1. lc 287 find the duplicated number 定长空间
2. 266 Palindrome Permutation 最多有一个字符出现奇数次
3. 669 Trim a Binary Search Tree recursive比较简单 区间范围
4. 283 Move Zeroes 用的swap
5. 13        Roman to Integer 注意一开始的数
6. 268 Missing Number
7. 121 Best Time to Buy and Sell Stock 动态规划 记录最小价格和目前最大收益
8. 53        Maximum Subarray 动态规划 记录maxtocur记录自己大还是加上前面大, max记录目前最大值
9. 206 Reverse Linked List先记录next=cur.next再反转cur.next=pre再移动pre=cur cur =next 返回pre
10. 100 Same Tree recur
11. 101 Symmetric Tree iter和recur
12. 110 Balanced Binary Tree 算高度
13. 232 Implement Queue using Stacks
14. 172 Factorial Trailing Zeroes 算有几个5 就有几个10
15. 26 Remove Duplicates from Sorted Array 在原来arry上modify
17. 141 Linked List Cycle 用快慢指针看是否相遇
18. 225. Implement Stack using Queues.
19. 697. Degree of an Array 没见过这么奇葩的题 三个hash table 记录左右index和次数 时间和空间都是O(n)
回复

使用道具 举报

推荐
 楼主| sunx0619 2018-6-13 13:16:37 | 只看该作者
全局:
6/12
1. 252 meeting room 一个人是否能够参加所有会议?先排序nlogn 再iterate 判断false条件 pre.start>cur.end
2. 253 meeting room 多个会议最少几个会议室? 先排序 再minheap (end) 画图 如果说最小endtime小于当前start 延长会议end time至当前end time否则加入这个时间段 返回heap 大小 注意顶端必须poll出来最后放进去
3. 463岛屿周长 右边下边判断edge
4. 200 岛屿数量
5. construct bst from pre & inorder 终止条件,用hashmap存index,leftsize,左 右递归
6. 102 level order
7. 116 populate perfect tree next pointer parent 负责parent.left child负责child.next
8. 222 完全树的node数 利用完全树的特性 递归找完全树 找不着再算。
左边枝条高度,右边枝条高度别和算max height搞混。
9. 257 BT paths stringbuilder setLength(len)
10. 111 minimum depth不能套用maximum depth   如果是枝条的话只算单边
11. inorder traversal, preorder traversal 复习
12. 543 diameter of bst
13. 199 right side view bfs
许多做过的题也没有印象,或者说没有想明白,还是需要加强巩固刷旧题。游泳,刷题,和所有事情,都是熟能生巧的一个过程。坚持下来,自律使我自由。睡前脑子里过一遍很重要
回复

使用道具 举报

推荐
 楼主| sunx0619 2018-6-15 11:50:28 | 只看该作者
全局:
6/13
1. 106 construct bst from inorder and postorder
2. 653 two sum-input is bst
3. 167 two sum-input is sorted
4. 437 path sum 3

6/14
1. 112 path sum1 判断从根到叶是否有一条路径和等于sum 新sum
2. 113 path sum2 返回list包含所有路径 注意携带res和list 先画图过一遍再写代码 deep copy 还有两处回删
3.  437 paths sum3 返回路径数 不必要从根到叶子 可以从任意节点 两个递归 一个负责从某节点开始,一个负责此单个节点

path sum系列还需复习 public variable还是parameter还是local variable区别

4. 538 convert bst to greater tree 乍一看蒙了还以为用kth smallest element做 结果用的reverse inorder traversal然后累加sum sum是一个public variable
5. 687 longest univalue path画图 从地向上分析 返回给母节点是左右最大的那个,然后和母通过求和并path。 public variable 记录当前最大res

6. 404 sum of left leaves 条件判断累加 local variable sum 累加左右递归取值

今天小伙伴拿到offer了真替人家高兴, 自己也要好好努力,分类刷,刷经典,一题多解。理解透。
回复

使用道具 举报

🔗
liu5395 2018-5-27 12:23:48 | 只看该作者
本楼:
全局:
mark.....
回复

使用道具 举报

🔗
 楼主| sunx0619 2018-5-28 21:45:26 | 只看该作者
全局:
1. 344 Reverse String 以及变种 186reverse words in string, shift n char in string 796 rotate string用到的思想是先反转,再单个反
2. 21 Merge Two Sorted Lists  如果直接操作l1l2, 不给l1 和l2加p1 和p2 pointer,  会modify l1 和l2,注意while循环里是什么
3. 88 Merge Sorted Array 从后往前来
回复

使用道具 举报

🔗
 楼主| sunx0619 2018-5-29 12:28:11 | 只看该作者
全局:
1. 648 Replace words 用trie 顺便学习了lc explore trie, insert, find, isword, isprefix, 进去的是prefix,到底了is word = true 查找的时候至少要查找小于等于prefix(word)的 如果不是string的prefix也停下来吧 或者如果到底了就是他的prefix. 结构也可以改变,到底可以保存string是什么 replace 单词还是得用stringbuilder 注意空格
2. Implement trie
3. minStack 两stack 一个是正常的 一个是minstack用来保存比stack里数小的东东
4. 160 interaction of two linked list 两个list 一个转完了去转另一个,形成一个圆圈,自然最后会相遇
5. sqrt(x) 用的最基本的办法 从1iterate 当两个数相乘大于x, 返回s-1    O(sqrt(x))
6. 189 rotate array 跟reverse array的思想一样,先反转整个,再反转两个局部
7. reverse int 取模取整
8. 582 kill process 用map和bfs queue
9. 455 add 2 numbers2  用stack反转list, 两个新list一个用来装小数,一个用来装前面的数,然后第一个list移动到第二个 取模取整 注意保留进位
回复

使用道具 举报

🔗
 楼主| sunx0619 2018-5-30 13:36:40 | 只看该作者
全局:
5/29
还得注意在紧张环境下快速集中思考,计时做题
1. 582 Kill Process 用hash map和queue expand-generate把子都找出来
2. 445 Add Two Numbers II 取模取整,注意进位 不熟练还需加强
3. 231 Kth Smallest Element in a BST 0-smallers smallers+1 >smallers 用recursive
4. 重做78 Subsets dfs
5. 重做287 Find the Duplicate Number 只会t On  s On的解法
6. 重做62 Unique Paths
7. 重做102 Binary Tree Level Order Traversal bfs 注意corner case
8. print substrings
9. 451 Sort char by frequency hashmap+maxheap stringbuilder 注意pq类型以及comparator写法


不会的:
33 Search in Rotated Sorted Array   
547 Friend Circles
714 Best Time to Buy and Sell Stock with Transaction Fee



回复

使用道具 举报

🔗
 楼主| sunx0619 2018-6-1 10:47:37 | 只看该作者
全局:
5/30
1. 33 rotated binary search
2. 35 binary insert
3. 98 valid bst
4. add two numbers 1 2
5. 50 pow(x, n) recursive

5/31
1. 91 dp经典题目 encoder decoder ways
2. 138 shallow copy vs deep copy 先copy next 创造,赋值,再copy random
3. 386 dfs
4. 692 top k 做了好几次还是有bug
5. 215 kth largest
6. 49 group anagram Sort
7. 11 最大水箱

先想好思路再写代码
回复

使用道具 举报

🔗
 楼主| sunx0619 2018-6-2 11:16:05 | 只看该作者
全局:
6/1
1. common nums of two sorted lists, two pointers
2. remove certain chars, 建一个set存要remove的char sb遍历 若在则跳,若不在则append 或者inplace
3. remove all leading/trailing/duplicate spaces, two pointers i j
4. remove adjacent repeated chars, reuse left side of original char[] as stack
5. determine if one string is another's substring, naive approach
6. remove element, two pointers i j
7. lc 203 remove linked list elements, 先处理头 在处理剩下的
8. lc 11最大水桶
9. tree vs hashmap, tree worst case
10. add two numbers2 不用stack 先反转再和原来一样的 最后注意判断p.val==0 leading

加油 For God For Mom&Dad For my Dream
回复

使用道具 举报

🔗
 楼主| sunx0619 2018-6-3 09:18:09 | 只看该作者
全局:
6/2
1. lc 414 third largest num 用交换做,一个一个来从大到小
2. lc 42trapping rain water 法一O(n)数组记录左边最高,右边最高,取较小,减去自己。法二O(1)two pointers右边有很高的bar的话,depend on 从左到右的左边最大bar, 反之一样。直到遇见左边高bar,再逆着来。
3. lc 234 对称list 先快慢指针找到中点,偶数不用变,奇数慢指针往前一个,反转后半边list 头部变 比较两者相同长度是否相等
4. lc 369 plus one two pointers i指向最后一个不是9的数字,加加,i后面若不是null, 把它后面的全变成0 记得判断头部
5. 3 longest substring without repeating chars 用一个set,两个指针i,j指向0,若不存在加入set, j++, 若存在remove set 中i 所在元素,维持一个唯一元素的set
6. common linked list 像一个DNA分子模型一样,对称了自然就找到共同点了。

复习下string, linkedlist之前做的题。
回复

使用道具 举报

🔗
chiaki 2018-6-4 10:32:19 | 只看该作者
全局:
加油,看了你的帖子感觉惭愧极了
回复

使用道具 举报

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

本版积分规则

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