📣 独立日限时特惠: VIP通行证立减$68
楼主: miaoyuhang
跳转到指定楼层
上一主题 下一主题
收起左侧

坐标波士顿,决定开个刷题贴激励下自己

🔗
 楼主| miaoyuhang 2019-1-22 12:49:33 | 只看该作者
全局:
noemanon 发表于 2019-1-22 12:27
lz方便分享一下udemy做的第一个project吗 感觉有点意思

没问题啊
https://www.udemy.com/mern-stack-front-to-back/learn/v4/content
这个老师节奏比较快,不会讲很多理论的东西,基本上就是全程跟着敲代码,不过还蛮对我的胃口的
回复

使用道具 举报

🔗
noemanon 2019-1-22 12:50:49 | 只看该作者
全局:
miaoyuhang 发表于 2019-1-22 12:49
没问题啊
https://www.udemy.com/mern-stack-front-to-back/learn/v4/content
这个老师节奏比 ...

可以 谢谢学弟
回复

使用道具 举报

🔗
 楼主| miaoyuhang 2019-1-22 12:52:25 | 只看该作者
全局:

学长你也是bu的么?
回复

使用道具 举报

🔗
noemanon 2019-1-22 12:56:20 | 只看该作者
全局:
miaoyuhang 发表于 2019-1-22 12:52
学长你也是bu的么?

恩 ECE zszszszszs
回复

使用道具 举报

无效楼层,该帖已经被删除
🔗
 楼主| miaoyuhang 2019-1-23 00:06:27 | 只看该作者
全局:

学长方便加个微信么
回复

使用道具 举报

🔗
noemanon 2019-1-23 02:21:32 | 只看该作者
全局:
miaoyuhang 发表于 2019-1-23 00:06
学长方便加个微信么

好呀 noemanon
回复

使用道具 举报

🔗
 楼主| miaoyuhang 2019-1-23 09:20:41 | 只看该作者
全局:
第一天上课,神奇的更新一发,最近状态不太好,感觉刷的有点吃力,感觉进入了瓶颈期
253. Meeting Rooms II(M):em...没想出来,但是看了答案又觉得挺简单,会给一个二维数组,表示需要用会议室的开始时间和结束时间,要求需要的最少的房间的数量,答案是用最小堆来做的,先将所有的时间安排按照开始时间排列,override一下comparator就能实现。然后再创建一个最小堆,这个堆比较的是结束时间,所以结束时间最小的会被放在堆顶,将遍历数组,将数和堆顶的数进行比较,如果数大于堆顶的数,说明有一个开始时间最早的时间安排和一个结束时间最早的安排不重叠,那么就可以把堆顶的这个数从堆中删掉,然后再把新的数放到堆里面,最后得到的堆的大小就是所需要的最少的房间数量。
560. Subarray Sum Equals K(M):要求一个数组里面所有总和为k的subarray的数量,最简单的就是dp,o(N2)的复杂度,能刚刚过,最后也是用的dp,但是只用o(N)的复杂度,遍历数组,用一个变量sum得到[0, i]的数的总和,再用一个hashmap存目前所有presum,这样如果有一个subarray[j, i]满足条件,就一定能在hashmap中找到sum - k这个数,最后返回累加的结果就行
207. Course Schedule(M):是一个拓扑排序的问题,给一个数组表示所有需要的先修课,求能否满足要求,但是我graph学的不太好,到时候补充下graph的知识再回来看下这题,我用的方法是hashmap加hashset,思想是dfs,就是从一门课出发,看他所有的先修课能否满足,这样就要用dfs先看先修课的情况,这里的关键是用一个visited数组存住所有已经找过的情况,然后用一个hashset存住所有目前在找的课,如果找的课已经再visited里面了,就代表ok,如果在hashset里面,就说明是个死循环,返回false
回复

使用道具 举报

🔗
 楼主| miaoyuhang 2019-1-25 13:43:11 | 只看该作者
全局:
今日晚更,只做了三题
42. Trapping Rain Water(H):brute force的做法很简单,o(n2)的复杂度,就是遍历数组中的每一个elevation,然后针对每一个elevation求两边的最大高度的最小值,这样如果最小值仍然大于这个elevation,说明这是个坑,可以储水,把最小值和elevation的差值加到结果上,最后输出结果,测试了下,能刚刚过。o(n)的算法想了很久,没什么很好的思路,最后看了下讨论区,觉得还挺巧妙的,就是首先从两端0和n - 1开始,看height(0)和height(n-1)哪个更小,如果前者更小就看height(1)的值,这样只用比较height(1)和height(0),因为另外一端至少也会比height(0)高,这样如果height(1)比height(0)小,说明是个坑,能够储水,如果height(1)比height(0)大,height(1)成为新的一端,最后只用遍历一遍就能解决问题,速度90%
904. Fruit Into Baskets(M):我感觉像是two pointer问题?brute force很简单,刚刚能过。改进的方法我用的两个pointer,一个存住某一段符合要求的开始位置,另一个存住如果出现新水果,新的一段应该重新开始的位置,然后用a、b存住当前段的两种水果,这样如果有种新水果不是a或者b,就开始新的一段,为什么要分开,因为两个pointer的位置有可能是同一种也有可能是不同种水果,最后是遍历一遍就能解决,复杂度是o(n),最后速度是90%
929. Unique Email Addresses(E):很简单的easy题,我这里用hashset存住的所有string,最后返回hashset的size就行,这里要注意hashset里面的string比较是用的equal方法,所以直接把string存入hashset就行了,不用担心引用的问题,我也是查了下才确认的
回复

使用道具 举报

🔗
 楼主| miaoyuhang 2019-1-25 13:44:47 | 只看该作者
全局:
对了,300题打卡
回复

使用道具 举报

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

本版积分规则

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