Re: [请益] 刷Leetcode的正确姿势?

楼主: pig2014 (Rocking Man)   2019-10-11 19:29:54
※ 引述《g001613001 (阿月)》之铭言:
: 最近因为想面的工作,有要求要先刷leetcode
: 刷完才建议过去面试。
: 所以开始接触leetcode。
: 我目前是从简单难度开始刷,但是好像刷的姿势不对?
: 不过还不确定要怎么解问题才是正确的作法。
: 原本我以为是写出来的code,可以通过网站验证,就好了。
: 但是问了前辈,他是说我目前解题方向有误
: 不可能题目要求你做阵列排序,你就直接call array.sort()
: 不能直接用现成的函式,而是要自己实作sort的函式出来
: 这样才有意义
: 不知道各位前辈在解题时或者面试考试时,也是都完全不用函式库的东西
: 而是自己实作题目要求的函式出来的吗?
: 或者请问有什么正确刷题的姿势呢?
: 先谢谢各位前辈分享经验

刷了三百多题
应该有资格出来嘴一下
easy请找有意义的
不然一律刷medium
阿你说怎样算有意义的easy?
其实你刷medium碰壁
再看一下那题的similar questions
如果里面有easy
那题对你来说就是有意义的easy了
阿干你会想说
那不是还是要先刷medium?

只刷medium就对了
只刷easy你还是快转行吧
阿hard是三小?
通常就是把2-3个medium的技巧结合
就是hard了
不过有时脑子要转几圈
所以解hard真的是脑袋反应问题了
阿不过有时DP比较机掰
所以就是光一个机掰DP策略
就能构成一题hard
例如KMP或是Levenshtein
我解这种题目通常70%都是改用
自己改良式的hash
mem一样
speed稍差一点点
但至少解法比较符合常人的逻辑
如果你真的这么屌
能像我搞出这种解法
等到pass后
你真的去看各个分布内的解答
你会发现没有你这种解法
大家解法机会都千篇一律
这时你就算是脱俗了
由此也能推论
其实大部分的人都是看完解答才去解
阿另外25%解出DP hard的方式
基本就是跟正解一模一样
不要问我怎么想到的
就是智商够然后刷得多
5%的DP hard就真的想三五天
想不出来直接看解答
背起来
除了DP类型
其他类型的hard
基本上花个半天乱解都能pass
所以DP真的是凡人码农的梦魇
如果题目要求你
实现Data structures或algorithms
那一律不能用该项目的standard library
例如sort、trie、hash、blablabla...
如果不是这类题目
就能使用stl
不然题目问DP
你在那边实现merge sort
重造轮子
智障喔
至于推广
至少让自己解法能pass
然后再参考所有最佳复杂度解
以及与最佳解差O(logN)的解
通通记起来
不要怀疑
会有帮助
然后干
最后说说用啥语言刷
我认为只有C++以及Java可
py只有真‧RD可用
因为py真的太鸟
deque还要import
set与map(dict)居然是hash
list.pop(0)居然是O(N)
for速度比while微快
还有一堆垃圾潜规则
马的新手用这种语言刷
你DS会清晰我输你
最后
台湾软件薪水真的太垃圾
跪求FAAGM来台湾多开缺
人又奴
薪水又低
又不会暴动
也不会动不动伤害民族情感
跪求996来台湾多开缺
阿不是中国的一省
连个branch都没有成何体统
好了干
大家认真刷起来
半导体业倒了以后
才不会变菲律宾
作者: aria0520 (紫)   2019-10-11 19:31:00
用c++ +1看一堆python在那边一行解实作题然后炫耀 就觉得头好痛
作者: LinuxKernel (Linus Torvalds)   2019-10-11 19:34:00
台湾这种薪水 还要刷这么累的话 想起来挺可悲的XD
作者: hsnuyi (羊咩咩~)   2019-10-11 20:05:00
LC就是要配着大二修DS跟Algo时刷 修完大概也刷了不少了
作者: brovet (阿搭 原来我有小天使...)   2019-10-11 20:13:00
easy可以拿来练信心 科科
作者: hsnuyi (羊咩咩~)   2019-10-11 20:15:00
不过说实在的 这系列文之前有个EE书卷默默推说hard画画图几分钟就可解 这人是真的强 但不知为啥面G一直上不了 所以刷LC够了就好 之后就该补别的了 有时不是专业问题
作者: yamakazi (大安吴彦祖)   2019-10-11 20:21:00
优文给推
作者: maxqq (max)   2019-10-11 20:25:00
认真推一个
作者: jass970991 (半糖绿假面超人)   2019-10-11 20:27:00
hard有些是真的不难,有些真的难到靠北
作者: aria0520 (紫)   2019-10-11 20:33:00
我是觉得hard常常比medium简单耶如果有绕到题目正确的思路上就很简单medium比较像扎实的难
作者: qpalwosk ( )   2019-10-11 20:51:00
感谢分享
作者: SFMAndroid (安卓发送)   2019-10-11 21:28:00
推实用
作者: dddingnan   2019-10-11 21:59:00
推实用
作者: GGFACE (ggface)   2019-10-11 22:02:00
我觉得hard常常比easy简单夜
作者: alan23273850   2019-10-11 22:31:00
优文给推 文笔好幽默
作者: ghostreporty (ghost)   2019-10-11 22:32:00
python精通了 刷LC会变有效率多了
作者: clamperni (肥宅牛牛)   2019-10-11 22:54:00
XD
作者: benben994 (晨宇)   2019-10-11 22:54:00
刷到爆气喔XDD
作者: kkbbs (逃离这里)   2019-10-11 22:59:00
其实可以偶尔周末来比个赛
作者: ekids1234 (∵:☆星痕╭☆)   2019-10-11 23:07:00
笑死 推
作者: senjor (哞哞)   2019-10-11 23:07:00
个人觉得程式写到后面难不难的差别是要花多久写,不是解不解得出来。
作者: g5637128 (帮QQ)   2019-10-11 23:21:00
推XD
作者: aria0520 (紫)   2019-10-11 23:24:00
前阵子比较闲 每周末都有比个赛 不错玩
作者: JK520nsk (FoTw_Jerry)   2019-10-11 23:28:00
推推
作者: yyhsiu (hsiu)   2019-10-11 23:29:00
有绕到正确思路上是哪题难了啦…什么屁话
作者: pkro12345 (席龙)   2019-10-12 00:51:00
很怒喔
作者: G888888   2019-10-12 00:55:00
有一次把hard解完 让我怀疑人生
作者: asadman1523 (黑炭)   2019-10-12 01:09:00
作者: invidia (莎莉竟然会飞)   2019-10-12 01:18:00
感谢分享 原po的文章都很猛
作者: f422661 (恩恩)   2019-10-12 01:32:00
作者: aria0520 (紫)   2019-10-12 01:45:00
不是屁话 只是你理解能力不够 ㄏㄏ这样举例 hard常常是卡在找不对思路 只要找对了实作往往很容易 medium则是实作通常会有一定复杂度也就是花在找思路 跟实作的力气都是中等
作者: javatea (齁齁)   2019-10-12 04:10:00
只会刷题的工程师 最后还不是奴工 = =a 台湾可以做得更好
作者: j1988922 (jason)   2019-10-12 05:02:00
作者: y956403 (寻欢)   2019-10-12 05:08:00
推荐像我一样的菜鸡可以去打周赛 一开始刷easy觉得难 但是开始玩周赛后基本easy都十分钟最多就解掉 medium也会开始有办法解 会比较有成就感
作者: lion741205 (狮子)   2019-10-12 08:23:00
简单来说 想把DS学好 不适合用py; 但同样的java很冗不适合学algorithm
作者: lemon651 (小明)   2019-10-12 08:28:00
java的ArrayList remove(0)不是也是O(n)吗?
作者: phe6689 (宏)   2019-10-12 10:17:00
只刷easy真的是小学生的level
作者: strlen (strlen)   2019-10-12 10:23:00
刷这个台湾95%的工作都用不到的东西XDDD
作者: gocreating (小平)   2019-10-12 10:23:00
u质文
作者: gmoz ( This can't do that. )   2019-10-12 10:50:00
u质XD
作者: aria0520 (紫)   2019-10-12 11:11:00
刷这个很好玩啊 我就是当休闲娱乐 兼练手感
作者: qazxws (QAZ)   2019-10-12 11:52:00
台湾只有g跟m会考leetcode 刷起来cp值偏低
作者: aria0520 (紫)   2019-10-12 11:54:00
不只啦 群晖阿 趋势阿 mixerbox 还有各式新创都很爱考
作者: new122851 (未若柳絮因风起)   2019-10-12 12:32:00
面试考五题 全部空白也不会怎样 讲求的是谈吐 处理事情的方式 架构的理解 分析spec
作者: x000032001 (版废了该走了)   2019-10-12 13:40:00
不少公司会先丢codility线上测验吧 跟leetcode差不多
作者: JingJing00 (晶晶)   2019-10-12 15:34:00
用rust跟kotlin刷 顺便学新语言
作者: NTUCS5566 (给力点)   2019-10-12 17:13:00
考五题都空白的确不会怎样啊 一定还有下一间可以面XDD
作者: lemon651 (小明)   2019-10-12 17:44:00
受教受教 如果是要讨论implementation的话LinkedList为什么不是跟deque比呢?还有Java的LinkedList也要import为什么deque要import就不行呢?不好意思 刚写程式几个月不太熟悉
作者: wheels   2019-10-12 19:50:00
py list 不就是 dynamic arrays 吗?这样 pop(0) 不是 n要是啥?
作者: DLHZ ( )   2019-10-12 20:03:00
不错XDD
作者: Mtcat (山地猫)   2019-10-12 22:36:00
11
作者: dreamnook (亚龙)   2019-10-13 10:35:00
这篇意外受用www 推一个
作者: ikai99 (18岁的天空)   2019-10-13 10:56:00
花了钱买premium, 结果还没刷完另外一家的offer已经拿到了,就没动力刷了
作者: iamOsaka (欧沙卡)   2019-10-13 16:40:00
推原PO UCB跟普林斯顿的DS跟算法就用JAVA上 有问题吗?
作者: shiauji (消極)   2019-10-13 18:26:00
www
作者: wheels   2019-10-13 18:59:00
我生下来时是不知道啦,但我第一次看 tutorial 时就知道了,这种事本来第一次看就会知道了吧 = =
作者: y956403 (寻欢)   2019-10-13 22:39:00
楼上真厉害!
作者: senjor (哞哞)   2019-10-14 00:45:00
楼楼上真厉害!
作者: lyuping (湘兰)   2019-10-14 02:18:00
感谢分享
作者: internetms52 (Oaide)   2019-10-14 08:35:00
作者: howar31 (Howar31)   2019-10-14 10:44:00
这篇不拜一下不行
作者: davidpanda (panda)   2019-10-14 11:48:00
其实刷easy就够解决大部分的公司了...台湾真的问到medium/hard的公司没那么多通常是FLAG等级才比较敢问medium/hard
作者: usoko (time to face reality)   2019-10-14 12:53:00
作者: jackyT (Ubuntu5566)   2019-10-16 01:15:00
Leetcode的DP会有那种ACM很不舒服的三维压缩到一维的DP吗
作者: siriusu (かがみは俺の嫁。)   2019-10-18 23:10:00
推但我还是觉得 java 最常用的 list 就是 arraylist 最常用的 map/set 就是 hash 所以 java 出身的人也会觉得 python 的选择没那么不合理啊fang 都不一定会问到 medium 呢 问 easy 的也所在多有但我觉得这篇建议的做法才是有效率的啦
作者: ruthertw (小叶老大)   2019-10-19 17:25:00
想要等到半导体业倒?你等到海枯石烂吧!
作者: ThisRay (TR)   2019-10-21 20:11:00
作者: Swartz (I_Am_Swatz)   2019-11-07 15:58:00
偏见太多, 不懂python在那边装懂

Links booklink

Contact Us: admin [ a t ] ucptt.com