- leetcode是什么
leetcode是个题库,里面有很编程多面试的题目,可以在线编译运行。难度比较高。如果自己能都做出来,对面大公司很有帮助。
建议一次只针对一种题型进行训练,如数组、链表、二叉树、回溯、动态规划,这样效果会更好。
做leetcode肯定是有帮助的。我今年四月面腾讯的时候,面试官就问了我一道leetcode上的原题,让我写一个数组右移k位的程序。然后我大学做了两年ACM吧,感觉leetcode上的题目基本都比ACM要简单一些。
leetcode 是一个美国的在线编程网站,上面主要收集了各大IT公司的笔试面试题,对于应届毕业生找工作是一个不可多得的好帮手。
这个网站的的好处在于它会告诉你测试数据以及你的输出和正确的输出是什么,方便大家调试学习。目前,只支持C++和Java两种语言(现在支持了更多的语言)。
官方网站:http://leetcode.com/
引用:无敌三角猫
思路讲解:https://leetcode.jp/
youtube:一个amazon小哥的分享https://www.youtube.com/channel/UCQNPegv0VqempHNYPWKkVNw/featured?view_as=subscriber
感觉是学算法的地方 并且可以看别人的算法会觉得眼前一亮
eetCode 是一个非常棒的 OJ(Online Judge)平台,收集了许多公司的面试题目。相对其他 OJ 平台而言,有着下面的几个优点:
题目全部来自业内大公司的真实面试
不用处理输入输出,精力全放在解决具体问题上
题目有丰富的讨论,可以参考别人的思路
精确了解自己代码在所有提交代码中运行效率的排名
支持多种主流语言:C/C++,Python, Java
可以在线进行测试,方便调试
如果说 LeetCode 上面的题目是一块块金子的话,那么评论区就是一个点缀着钻石的矿山。多少次,当你绞尽脑汁终于 AC,兴致勃发地来到评论区准备吹水。结果迎接你的却是大牛
问题:抽象思维
波利亚用三本书:《How To Solve It》、《数学的发现》、《数学与猜想》)来试图阐明人类解决问题的一般性的思维方法,总结起来主要有以下几种:
时刻不忘未知量。即时刻别忘记你到底想要求什么,问题是什么。(动态规划中问题状态的设定)
试错。对题目这里捅捅那里捣捣,用上所有的已知量,或使用所有你想到的操作手法,尝试着看看能不能得到有用的结论,能不能离答案近一步(回溯算法中走不通就回退)。
求解一个类似的题目。类似的题目也许有类似的结构,类似的性质,类似的解方案。通过考察或回忆一个类似的题目是如何解决的,也许就能够借用一些重要的点子(比较 Ugly Number 的三个题目:263. Ugly Number, 264. Ugly Number II, 313. Super Ugly Number)。
用特例启发思考。通过考虑一个合适的特例,可以方便我们快速寻找出一般问题的解。
反过来推导。对于许多题目而言,其要求的结论本身就隐藏了推论,不管这个推论是充分的还是必要的,都很可能对解题有帮助。
刷 LeetCode 的最大好处就是可以锻炼解决问题的思维能力,相信我,如何去思考本身也是一个需要不断学习和练习的技能。
作者:selfboot
链接:https://www.jianshu.com/p/7bfbaf893a34