【生活质量系列】评测几款用过的咖啡机

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
前Google华人高管创立
面试offer一键直通
Leap.ai助你进入热门独角兽
硅谷知名AI创业公司
图灵视频
招聘多个工程师职位
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
查看: 994|回复: 16
收起左侧

[个人战拖] 战拖!为了心中的梦想

[复制链接] |试试Instant~ |关注本帖
我的人缘0
marlonlee 发表于 2018-5-24 15:51:06 | 显示全部楼层 |阅读模式
本楼: 【顶】   100% (1)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩

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

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
绝对不能再拖下去了,LZ这几年错过了很多很好的机会,感觉来美国一年确实成长了很多,认识到了很多自己的问题,思想上也变得更加成熟了,因为是读硕士,真的觉得不会再有比今年9月更好的机会了,这个暑假一定要抓紧时间提升自己。
因为没有找到美国和国内大公司的实习,这个暑假应该是在国内(坐标成都)单干,但是开始了几天过后觉得真是进行的异常缓慢,每天总是有各种各样的事情让自己分身,坐在椅子上真的效率不行,想着其实现在还远远没有到天气最炎热的时候,如果在这个时候就表现的心浮气躁那么后面真的也是很难干得。。。

之前上了某offer的课程,所以开始的第一周准备先把之前的教案过一遍,然后就开始每天刷题,准备先把来code上面的几百道题(其实和leetcode应该是基本相同的)先过一遍,然后自己一定要找一点项目做一下,因为LZ本身自己是转专业的学生,感觉没做过很多实际上比较新的技术或者有实战经验,所以对未来的方向还是比较的迷,我暂时给自己定的小目标是往全栈的方向走一走,所以暑假必须自己给自己找点项目做一做,最近在udemy和牛客网上看了几个项目好像还行,准备试试,不知道各位有没有什么更好的建议

总而言之,改变自己的机会有很多,最好的机会是过去,而第二好的机会就是现在,既然过去已经不可能再回来了,那么就必须从现在开始,不论我的表现怎么样,我都希望写下来作为自己努力的一种督促和鼓励,加油吧诸君!!

上一篇:刷题记录贴
下一篇:打卡 - 健身和刷题!
我的人缘0
 楼主| marlonlee 发表于 2018-5-30 21:55:52 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
        1. Closet in sorted array, first I tried to use recursion, but I wrongly created the recursion rule, it should be left = mid, but I left it as left = mid + 1, and the base case condition shall be (right - 1 < left), which I was (right <= left).

        And there's problem, if use my method, the space complexity will be higher, I shall use iteration, so it will be O(1), the time complexity will be O(logn)(binary search)

        2. Right shift by n characters, this is an easy question, but I ignored some corner cases, such as if n = 0 and the string length = 0; Must be careful enough!!!

        3. All anagrams, first I thought about to use hashmap and it's right, the key is to have a global variable that count if there's a match, and I have no need to have two pointers to record the place info, just one match variable and one i iterate it's enough, to keep it simple.

        4. Spiral II, Base case is really important for this kind of question, left < right, and up < down, this should be remembered carefully. Furthermore, there are several base cases. When there's only one row or one column left, it should be "==" but not ">"(cause we know)

Spiral Gen II, actually the same as spiral traverse, the thing is I found a tricky thing ,the last  checking if should be changed to only one if and else if, or there will generate second time when facing 0,0
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-5-31 23:12:20 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
        1. LCA I, this question is a typical DFS one, must be very clear about two points: a) what should I do at current level; b) what do I expect from left child and right child.
        在语句的书写上应该更精炼一点!!
       
        2. Abbrevation Matching, so many conner cases,,,,
                Time: O(n)
                Space: O(n)
                a. The base case is that two String should run out of their chars at the same time
                Sample 的方法会更好,不仅更加简练,而且因为并不需要创建新的String,空间复杂度会低!
                要注意的是并不是说<'9'的就是digits,还是有可能是其他符号的
               
        3. # of different bits, 用的方法很蠢,其实只要exor一下,相异为1有多少个1就能够判断出有多少个不同的bits了

        4. All Unique char, 这里一定要注意在每个int[] 里判断的时候不能写成==1,因为完全有可能不是1,1的位置变化了, it should be != 0.

Hex Trans, 我用的是纯粹的bit operation在做,这里要注意和matching的区别,一个是按数组顺序从前往后,而我右移是从后往前的
回复

使用道具 举报

我的人缘0
jenniferj 发表于 2018-6-1 07:19:42 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (2)
 
 
0% (0)  踩
哇 楼主很有干劲! 加油!!
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-1 11:55:58 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩

恩恩,对哒~~~
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-1 16:24:49 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
jenniferj 发表于 2018-6-1 07:19
哇 楼主很有干劲! 加油!!

谢谢,要一起加油啊!
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-1 22:55:47 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
        1. Array Hopper I, 总体来说用DP从后往前很简单

        2. Array Hopper II, this question should be easy... But initialized as Integer.MAX_VALUE makes it really difficult, so the question itself is a hint, to set the memo as -1,

       
        3. Dictionary World I, 这道题从一开始就知道是DP 左大段右小段来解,但是最关键的就是memo的意义,该有多长,在0起点位代表的是什么,这很重要!

        4. Edit Distance, 这道题其实很简单,只要知道三种情况分别对应在二维DP的增减里面是一个怎么样的情况就行了,要注意base case是i、j分别为0的时候
        Time: O(n^2)
       
        5. Largest SubArray Sum, easy, but need to be more careful about conner cases

看书半个小时,准备开始做项目了
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-5 23:12:01 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
一定要加强自己对于时空复杂度分析的能力
        1. Longest Consecutive 1s

        2. Get Keys in BST Zig Zag way, 这道题其实考验的是一个空间想像能力,有两个比较重要的需要关注的点,一个是奇偶层数的时候left和right加进去的顺序,还有就是什么时候从deque前面放进去,什么时候从后面放进去
                Space O(n)
                Time O(nlogn)
                Since there are logn levels, and in each level, the operation is n
               
        3. Move 0s to the end, 在处理挡板问题的时候,要注意明确边界的包含
                Space O(1)
Time O(n)
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-6 23:25:30 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
        1. Sort In Specified Order, 这道题用comparator会很简单,要好好看一下这部分的内容,如果自己去部署的话涉及到的情况会有一点多
        Time: O(n)
        Space: O(n)   主要的花费就是在建map的过程中
       
        The elements is about to implements the comparable (compareTo)
        And the comparator class to implements the new comparator (compare)
       
        2. MaxPath in Binary Tree, a用一个int[]的data structure来传递global的max值,注意因为是从leaf到leaf,所以只有当两边的max都有传值上来的时候,方才能更新这个global的max值
        Space: O(level) stack
        Time: O(level)
       
        3. Palindrome Min Cut, DP的问题写成代码都很简单,但是里面的很多取值必须对memo的这个表自己在心中要很有数。即inclusive or exclusive的关系
        这道题sample中另用了一个二维DP来做剪枝处理,如果用的我的方法做一个check是过不了里口德的,因为这样会有很多的重复检查
        (piazza question)
       
        4. Insert in Binary Search Tree, using iterative way
        Space: O(1)
Time: O(level)
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-6 23:26:09 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
        1. Sort In Specified Order, 这道题用comparator会很简单,要好好看一下这部分的内容,如果自己去部署的话涉及到的情况会有一点多
        Time: O(n)
        Space: O(n)   主要的花费就是在建map的过程中
       
        The elements is about to implements the comparable (compareTo)
        And the comparator class to implements the new comparator (compare)
       
        2. MaxPath in Binary Tree, a用一个int[]的data structure来传递global的max值,注意因为是从leaf到leaf,所以只有当两边的max都有传值上来的时候,方才能更新这个global的max值
        Space: O(level) stack
        Time: O(level)
       
        3. Palindrome Min Cut, DP的问题写成代码都很简单,但是里面的很多取值必须对memo的这个表自己在心中要很有数。即inclusive or exclusive的关系
        这道题sample中另用了一个二维DP来做剪枝处理,如果用的我的方法做一个check是过不了里口的,因为这样会有很多的重复检查
       
        4. Insert in Binary Search Tree, using iterative way
        Space: O(1)
Time: O(level)
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-12 13:51:13 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
        1. K Way Merge List, easier than int[], because we have no need to create a new class Entry to check where is our current pointer, we can simply use ListNode.next to find next.
       
        Time: O(nlogn) at every step there will be offer in the heap
        Space: O(kn * logk)

        2. Closet Number in BST
        Time: O(level)
        Space: O(1)
       
        3. Largest Smaller number, I use recursion, but the logic is smaller in the sample question
       
       
        为什么这里用iteration更好,因为从root开始,以后的方向一定是固定的
        Time: O(level)
        Space: O(1) (if use iteration)
       
        4. Maximum Path Sum Binary Tree III, 这道题是一条path,是二向path的简化版本,向上传值的时候 there's a tricky part to pass 0 when the root is null;

        5. Maximum Path Sum Binary Tree II, s唯一要注意的就是传值和改变max[0] 的时刻不一样
        Time: O(n) just traverse the tree
        Space: O(Height)

        6. Binary Tree Path Sum to target III subpath target
        https://piazza.com/class/j0eqhhdregb3i?cid=721
        为什么这里要加入needtoremove这个boolean的原因是为了避免此处有0的出现,只应该在第一个插入这个值的位置将其从set中删去
        脑海中一定要把这个树给画出来,怎么个走势,对于hashset增减的时刻一定要非常的清晰
        Time: O(n) DFS
Space: O(n) HashSet
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-12 13:51:47 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
        1. K Way Merge List, easier than int[], because we have no need to create a new class Entry to check where is our current pointer, we can simply use ListNode.next to find next.
       
        Time: O(nlogn) at every step there will be offer in the heap
        Space: O(kn * logk)

        2. Closet Number in BST
        Time: O(level)
        Space: O(1)
       
        3. Largest Smaller number, I use recursion, but the logic is smaller in the sample question
       
       
        为什么这里用iteration更好,因为从root开始,以后的方向一定是固定的
        Time: O(level)
        Space: O(1) (if use iteration)
       
        4. Maximum Path Sum Binary Tree III, 这道题是一条path,是二向path的简化版本,向上传值的时候 there's a tricky part to pass 0 when the root is null;

        5. Maximum Path Sum Binary Tree II, s唯一要注意的就是传值和改变max[0] 的时刻不一样
        Time: O(n) just traverse the tree
        Space: O(Height)

        6. Binary Tree Path Sum to target III subpath target
        为什么这里要加入needtoremove这个boolean的原因是为了避免此处有0的出现,只应该在第一个插入这个值的位置将其从set中删去
        脑海中一定要把这个树给画出来,怎么个走势,对于hashset增减的时刻一定要非常的清晰
        Time: O(n) DFS
Space: O(n) HashSet
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-15 14:55:41 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
        1. Reconstruct BST by Post Order, Reconstruct这个问题的要点在于把global的问题一分为二,每边返回一个root node
        难点,有点没掌握
       
        2. Common elements in three arrays, just to use three pointers and move the smallest one.
        Time: O(n)
        Space: O(1)
       
        3. Reverse Binary Tree Upside Down, always think about the graph, so the recursion rule can be found
        Time: O(n)
        Space: O(n)
        Since there're few right nodes, so the level is approximately n
       
        4. 2 Sum, Classic question, I use a HashSet to reccord elements that been traversed, and check the set if there's element in it that adds up can be the target
        Time: O(n)
        Space: O(n)
        It can also use 2 pointers to check do this, and the space can be O(1)(Sort at first)
       
        5. 2Sum Pair I, because sometimes it can be repeat, so we use a hashtable here
        Time: O()
Space: O
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-21 00:03:57 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
        1. 3 Sum,  其实就是运行两个2sum,用pointer的方式能够比较节省空间
        最需要注意的是判断重复的条件,因为现在不像2sum一样是从头开始,所以需要把这个判断放在if条件中去
        Time: O(n^2)
        Space: O(1)
       
        2. 4 Sum, the same as 3 sum, just add another for loop
        Time: O(n^3)
        Space: O(1)
       
        3. Longest Common SubString, using two global va longest and start to reccord the length and starting point, and a DP memo to reccord it.
        Time: O(m * n)
        Space: O(m * n)
       
        4. Longest Common SubSequence, DP一定要把memo的含义理解的特别清楚再开始做题

Kth Smallest with only 3, 4, 5 as Factors, using 3 deques to store the elements, the key point to avoid duplicate is to 不要在5被取出的时候更新3,因为这些元素已经在前面被更新过了
回复

使用道具 举报

我的人缘0
 楼主| marlonlee 发表于 2018-6-21 00:04:14 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (8)
 
 
11% (1)  踩
        1. Kth closest matrix point to (0, 0, 0), 这道题其实就解题来说不算难,但是设计到的知识面比较广,考察了heap的操作,set的操作,包括private class的内容
        BFS
        Time: O(nlongn) 在每步里都有heap的poll和offer操作
        Space: O(n)
       
        2. Max Water Trapped I, a这道题有两种解法,一种是2 pointers,一种是DP,其主要要素都是抓住木板效应,最小的那一个才是决定性因素
        所以DP就是keep两个array,记录leftMax和rightMax,然后再通过cur的来计算
        2 pointers的方法会更加巧妙,也把space从O(n)降到了O(1),具体如图
       
        Time: O(n)
        Space: O(n)
       
        3. Max value of size k window, 这个题,最巧妙的一点就是利用deque的一系列性质,如果最左边数,不是最大的最新的(意味着将来也不会有机会变成最大的了),那么就会被清除,所以只要每次添加最左边的就好了


        4. LRU Cache,
        泛型:
        匿名类:
       
        5. Majority Number I, 一开始的时候想了很久怎么用maxheap或者hashmap来做,但是最后发现真的理解题意非常重要,因为在这个题目的assumption里已经说了必定是会有一个majority number的,所以一开始就可以用一个count来计数,然后这个candidate如果其数目超越了二分之一,那么最后一定会被选出来
        Time: O(n)
        Space: O(1)

Interleave String, we can use a 2D array to keep it, and "or" symble
回复

使用道具 举报

我的人缘0
Jani 发表于 2018-6-21 00:21:38 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (16)
 
 
11% (2)  踩
楼主有上某offer的项目班吗,不知道讲的如何
回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地论坛声明

GMT+8, 2018-9-19 22:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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