2.leetcode刷题

虽然刷题一直饱受诟病,不过不可否认刷题确实能锻炼我们的编程能力,相信每个认真刷题的人都会有体会。现在提供在线编程评测的平台有很多,比较有名的有 hihocoder,LintCode,以及这里我们关注的 LeetCode。

LeetCode 是一个非常棒的 OJ(Online Judge)平台,收集了许多公司的面试题目。

相对其他 OJ 平台而言,有着下面的几个优点:

  • 题目全部来自业内大公司的真实面试
  • 不用处理输入输出,精力全放在解决具体问题上
  • 题目有丰富的讨论,可以参考别人的思路
  • 精确了解自己代码在所有提交代码中运行效率的排名
  • 支持多种主流语言:C/C++,Python, Java 可以在线进行测试,方便调试

下面是LeetCode的使用经验:

  1. LeetCode的题库越来越大,截止到目前,已经有321个问题了。对于大多数人来说,没有时间也没有必要把所有题目都做一遍(时间充裕可以随意)。刷个100题左右应该就差不多了(可以考虑序号为前100多的题目,相对更经典一点)。
  2. 从AC率高的开始做,难度从简单->中等,先不要做困难的。
  3. 可以按照下文的面试出题频率顺序来做,从频率最高的一批开始。
  4. 尽量不使用IDE,直接在平台上写代码。
  5. 不要看标签,不要看标签,不要看标签。标签相当于问题的分类,看了标签就会往那个方向去想,不利于自主思考。
  6. 写好代码先不要提交,人工检查一下代码,比如分号是否都有写,return有没少等等。
  7. 人工检查完后使用“Custom Testcase”功能自定义测试用例,注意检查边界,然后“Run Code”,这步可以发现蛮多问题的。
  8. 等RunCode通过后,再去提交。

刷题顺序:

出现频度为5:

  1. Leet Code OJ 1. Two Sum [Difficulty: Easy]
  2. Leet Code OJ 8. String to Integer (atoi) [Difficulty: Easy]
  3. Leet Code OJ 15. 3Sum [Difficulty: Medium]
  4. Leet Code OJ 20. Valid Parentheses [Difficulty: Easy]
  5. Leet Code OJ 21. Merge Two Sorted Lists [Difficulty: Easy]
  6. Leet Code OJ 28. Implement strStr() [Difficulty: Easy]
  7. Leet Code OJ 56. Merge Intervals [Difficulty: Hard]
  8. Leet Code OJ 57. Insert Interval [Difficulty: Hard]
  9. Leet Code OJ 65. Valid Number [Difficulty: Hard]
  10. Leet Code OJ 70. Climbing Stairs [Difficulty: Easy]
  11. Leet Code OJ 73. Set Matrix Zeroes [Difficulty: Medium]
  12. Leet Code OJ 88. Merge Sorted Array [Difficulty: Easy]
  13. Leet Code OJ 98. Validate Binary Search Tree [Difficulty: Medium]
  14. Leet Code OJ 125. Valid Palindrome [Difficulty: Easy]
  15. Leet Code OJ 127. Word Ladder [Difficulty: Medium]

出现频度为4:
出现频度为4:
16. Leet Code OJ 2. Add Two Numbers [Difficulty: Medium]
17. Leet Code OJ 12. Integer to Roman
18. Leet Code OJ 13. Roman to Integer
19. Leet Code OJ 22. Generate Parentheses
20. Leet Code OJ 23. Merge k Sorted Lists
21. Leet Code OJ 24. Swap Nodes in Pairs
22. Leet Code OJ 27. Remove Element [Difficulty: Easy]
23. Leet Code OJ 46. Permutations
24. Leet Code OJ 49. Anagrams
25. Leet Code OJ 67. Add Binary
26. Leet Code OJ 69. Sqrt(x)
27. Leet Code OJ 77. Combinations
28. Leet Code OJ 78. Subsets
29. Leet Code OJ 79. Word Search
30. Leet Code OJ 91. Decode Ways [Difficulty: Medium]
31. Leet Code OJ 102. Binary Tree Level Order Traversal [Difficulty: Easy]
32. Leet Code OJ 129. Sum Root to Leaf Numbers
33. Leet Code OJ 131. Palindrome Partitioning

下面附上LeetCode网址:https://leetcode.com/explore/
打开网址
在这里插入图片描述按照题号和难易程度就可以刷题了。
在这里插入图片描述点进去之后,就可以看到题目。在下图的红色箭头上面可以选择语言设置进行编程。
在这里插入图片描述

刷题策略:

  1. 知识脉络要清楚
  2. 及时做笔记
  3. 复习每天一分钟
  4. 每道题精益求精,写完以后在题解中找到热度最高的解法,思考怎样效率最高。
  5. 培养自己写出bugfree的能力,锻炼自己的思路怎样写不出bug。
  6. 提高自己的编程思路。可以尝试leetcode周赛。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

My.科研小菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值