LeetCode 攻略 - 2019 年 7 月下半月汇总(100 题攻略) - Go语言中文社区

LeetCode 攻略 - 2019 年 7 月下半月汇总(100 题攻略)


Create by jsliang on 2019-07-30 16:15:37
Recently revised in 2019-07-30 16:53:48

7 月下半旬攻略 45 道题,目前已攻略 100 题。

公众号已发布 48 道题,简单难度还有 42 道题尚未发布。

  • 如果你比较超前,推荐跟进 jsliang 在 GitHub 上的 LeetCode 专栏:https://github.com/LiangJunrong/document-library/tree/master/other-library/LeetCode

  • 如果你喜欢像看小说一样,每天接收推送,每天进步一点点。推荐扫描二维码,跟进 jsliang 的公众号:

640?wx_fmt=jpeg

1. GitHub 地址需要自行复制

2. 公众号可能查看不了下面的地址链接,可以复制地址 https://github.com/LiangJunrong/document-library 进行查看详情

3. 公众号后期会推荐更多福利

4. 如果觉得 jsliang 的文章对你有所帮助,请点点文中以及文章末尾的广告,你的举手之劳支持是我写更多推文的动力~

一 目录

不折腾的前端,和咸鱼有什么区别

| 目录 | | --- | | 一 目录 | | 二 前言 | | 三 汇总 | |  3.1 LeetCode 已攻略 | |  3.2 Function & Object | | 四 总结 |

二 前言

2019-05-16 开始,jsliang 每天会折腾一道及以上 LeetCode 题目,并将其解题思路记录成文章,发布到 GitHub 和 微信公众号。

  • 微信公众号记录截图:

640?wx_fmt=png

  • GitHub 记录截图:

640?wx_fmt=png

目前关于这块 LeetCode &&& 算法与数据结构 的安排:

  1. 【完成】 2019/08/15 前。LeetCode 简单难度题目 - 完成 100 道简单 LeetCode 题目的题解。

  2. 【准备开始】 2019/08/01 - 2019/09/01。初步钻研算法与数据结构。

  3. 【尚未开始】。LeetCode 中等难度题目 - 完成 50 道中等 LeetCode 题目的题解。

  4. 【尚未开始】。进一步钻研算法与数据结构。

  5. 【尚未开始】。LeetCode 困难难度题目 - 完成 20 道困难 LeetCode 题目的题解。

  6. 【尚未开始】。完善算法与数据结构。

截至目前为止,jsliang 在攻略 LeetCode 中的收获:

  • JS 基础:ES5、ES6 等的 API,以及它们的应用……

  • 解题思维:碰到难点,会先分析这道题的破解方法,然后进一步讲解优化思路……

  • 算法与数据结构:双指针、动态规划、链表、二叉树……

所以,如果小伙伴跟 jsliang 一样,希望提升下对于原生 JS API 的理解及使用,熟悉算法与数据结构,可以跟紧 jsliang 的公众号以及 GitHub:

  • 公众号:

640?wx_fmt=jpeg

  • GitHub:jsliang 的文档库

三 汇总

相比于 jsliang 的 LeetCode 6 月和 7 月中旬汇总:

  • LeetCode 6 月汇总

  • LeetCode 7 月中旬汇总

LeetCode 由 1114 道题变成了 1134 道题,增加了 20 道题。

jsliang 在 LeetCode 简单难度的题解,由 55 道题变成 100 道题,增加了 45 道题的题解。

jsliang 在 JavaScript 的基础知识上,增加了几篇 JavaScript 基础文章。

3.1 LeetCode 已攻略

jsliang 目前已攻略 100 道 LeetCode。

如果小伙伴们在攻略 LeetCode 的过程中,想出一些优秀题解,欢迎提交到 Issue,或者直接在 jsliang 的小册留言,或者拉到文章最下面,添加 jsliang 的微信等:

  • document.jsliang.top。

jsliang 会根据题解以及留言内容,进行补充,并添加上提供题解的小伙伴的 GitHub 昵称和地址。

那么,话不多说,放列表:

  • 001 - 两数之和(two-sum) ✔

  • 007 - 整数反转(reverse-integer) ✔

  • 009 - 回文数(palindrome-number) ✔

  • 013 - 罗马数字转整数(roman-to-integer) ✔

  • 014 - 最长公共前缀(longest-common-prefix) ✔

  • 020 - 有效的括号(valid-parentheses) ✔

  • 021 - 合并两个有序链表(merge-two-sorted-lists) ✔

  • 026 - 删除排序数组中的重复项(remove-duplicates-from-sorted-array) ✔

  • 027 - 移除元素(remove-element) ✔

  • 028 - 实现strStr(implement-strstr) ✔

  • 029 - 搜索插入位置(search-insert-position) ✔

  • 038 - 报数(count-and-say) ✔

  • 053 - 最大子序和(maximum-subarray) ✔

  • 058 - 最后一个单词的长度(length-of-last-word) ✔

  • 066 - 加一(plus-one) ✔

  • 067 - 二进制求和(add-binary) ✔

  • 069 - x 的平方根(sqrtx) ✔

  • 070 - 爬楼梯(climbing-stairs) ✔

  • 083 - 删除排序链表中的重复元素(remove-duplicates-from-sorted-list) ✔

  • 088 - 合并两个有序数组(merge-sorted-array) ✔

  • 100 - 相同的树(same-tree) ✔

  • 101 - 对称二叉树(symmetric-tree) ✔

  • 104 - 二叉树的最大深度(maximum-depth-of-binary-tree) ✔

  • 107 - 二叉树的层次遍历 II(binary-tree-level-order-traversal-ii) ✔

  • 108 - 将有序数组转换为二叉搜索树(convert-sorted-array-to-binary-search-tree) ✔

  • 110 - 平衡二叉树(balanced-binary-tree) ✔

  • 111 - 二叉树的最小深度(minimum-depth-of-binary-tree) ✔

  • 112 - 路径总和(path-sum) ✔

  • 118 - 杨辉三角(pascals-triangle) ✔

  • 119 - 杨辉三角II(pascals-triangle-ii) ✔

  • 121 - 买卖股票的最佳时机(best-time-to-buy-and-sell-stock) ✔

  • 122 - 买卖股票的最佳时机II(best-time-to-buy-and-sell-stock-ii) ✔

  • 125 - 验证回文串(valid-palindrome) ✔

  • 136 - 只出现一次的数字(single-number) ✔

  • 141 - 环形链表(linked-list-cycle) ✔

  • 155 - 最小栈(min-stack) ✔

  • 160 - 相交链表(intersection-of-two-linked-lists) ✔

  • 167 - 两数之和II(two-sum-ii-input-array-is-sorted) ✔

  • 168 - Excel表列名称(excel-sheet-column-title) ✔

  • 169 - 求众数(majority-element) ✔

  • 171 - Excel表列序号(excel-sheet-column-number) ✔

  • 172 - 阶乘后的零(factorial-trailing-zeroes) ✔

  • 189 - 旋转数组(rotate-array) ✔

  • 190 - 颠倒二进制位(reverse-bit) ✔

  • 191 - 位1的个数(number-of-1-bits) ✔

  • 198 - 打家劫舍(house-robber) ✔

  • 202 - 快乐数(happy-number) ✔

  • 203 - 移除链表元素(remove-linked-list-elements) ✔

  • 204 - 计数质数(count-primes) ✔

  • 205 - 同构字符串(isomorphic-strings) ✔

  • 206 - 反转链表(reverse-linked-list) ✔

  • 217 - 存在重复元素(contains-duplicate) ✔

  • 219 - 存在重复元素II(contains-duplicate-ii) ✔

  • 225 - 用队列实现栈(implement-stack-using-queues) ✔

  • 226 - 翻转二叉树(invert-binary-tree) ✔

  • 231 - 2的幂(power-of-two) ✔

  • 232 - 用栈实现队列(implement-queue-using-stacks) ✔

  • 234 - 回文链表(palindrome-linked-list) ✔

  • 二叉树的最近公共祖先(lowest-common-ancestor-of-a-binary-search-tree) ✔

  • 237 - 删除链表中的节点(delete-node-in-a-linked-list) ✔

  • 242 - 有效的字母异位词(valid-anagram) ✔

  • 257 - 二叉树的所有路径(binary-tree-paths) ✔

  • 258 - 各位相加(add-digits) ✔

  • 263 - 丑数(ugly-number) ✔

  • 268 - 缺失数字(missing-number) ✔

  • 278 - 第一个错误的版本(first-bad-version) ✔

  • 283 - 移动零(move-zeroes) ✔

  • 290 - 单词规律(word-pattern) ✔

  • 292 - Nim游戏(nim-game) ✔

  • 303 - 区域和检索之数组不可变(range-sum-query-immutable) ✔

  • 326 - 3的幂(power-of-three) ✔

  • 342 - 4的幂(power-of-four) ✔

  • 344 - 反转字符串(reverse-string) ✔

  • 345 - 反转字符串中的元音字母(reverse-vowels-of-a-string) ✔

  • 349 - 两个数组的交集(intersection-of-two-arrays) ✔

  • 350 - 两个数组的交集II(intersection-of-two-arrays-ii) ✔

  • 367 - 有效的完全平方数(valid-perfect-square) ✔

  • 371 - 两整数之和(sum-of-two-integers) ✔

  • 383 - 赎金信(ransom-note) ✔

  • 387 - 字符串中的第一个唯一字符(first-unique-character-in-a-string) ✔

  • 389 - 找不同(find-the-difference) ✔

  • 400 - 第N个数字(nth-digit) ✔

  • 401 - 二进制手表(binary-watch) ✔

  • 404 - 左叶子之和(sum-of-left-leaves) ✔

  • 405 - 数字转换为十六进制(convert-a-number-to-hexadecimal) ✔

  • 409 - 最长回文串(longest-palindrome) ✔

  • 412 - FizzBuzz(fizz-buzz) ✔

  • 414 - 第三大的数(third-maximum-number) ✔

  • 415 - 字符串相加(add-strings) ✔

  • 429 - n叉树的层序遍历(n-ary-tree-level-order-traversal) ✔

  • 434 - 字符串中的单词数(number-of-segments-in-a-string) ✔

  • 437 - 路径总和III(path-sum-iii) ✔

  • 438 - 找到字符串中所有字母异位词(find-all-anagrams-in-a-string) ✔

  • 441 - 排列硬币(arranging-coins) ✔

  • 443 - 压缩字符串(string-compression) ✔

  • 447 - 回旋镖的数量(number-of-boomerangs) ✔

  • 448 - 找出所有数组中消失的数字(find-all-numbers-disappeared-in-an-array) ✔

  • 453 - 最小移动次数使数组元素相等(minimum-moves-to-equal-array-elements) ✔

  • 455 - 分发饼干(assign-cookies) ✔

  • 459 - 重复的字符串(repeated-substring-pattern) ✔

3.2 Function & Object

在刷 LeetCode 的过程中,接触了原生 JS 的一些方法和对象,推荐小伙伴们结合 LeetCode 的题解进行食用,毕竟:

  • 没用上的知识点,都是脑中的垃圾

Function - 方法

  • 方法 - charCodeAt()

  • 方法 - filter()

  • 方法 - forEach()

  • 方法 - fromCharCode()

  • 方法 - indexOf()

  • 方法 - join()

  • 方法 - map()

  • 方法 - padStart()

  • 方法 - parseInt()

  • 方法 - pop()

  • 方法 - push()

  • 方法 - reduce()

  • 方法 - reverse()

  • 方法 - shift()

  • 方法 - slice()

  • 方法 - sort()

  • 方法 - splice()

  • 方法 - split()

  • 方法 - substring()

  • 方法 - toLocaleLowerCase()

  • 方法 - toString()

  • 方法 - unshift()

Object - 对象

  • 对象 - Map

  • 对象 - Math

  • 对象 - Number

  • 对象 - RegExp

  • 对象 - Set

  • 对象 - String

四 总结

知识的增加并非一朝一夕的事,jsliang 在今天以前,每天早上 7:30-9:00 会攻略一道简单难度的 LeetCode,并将自己的思路,通过文章的形式记录下来。

目前简单难度攻略已经到 100 题,所以后面 jsliang 会调整自己,在刷 算法与数据结构 的同时,攻略中等难度的题目。

至于之后的高级难度,会循序渐进地攻略,感兴趣的小伙伴们可以持续关注我的 GitHub、掘金、公众号:

  • GitHub - jsliang 的文档库

  • 掘金 - jsliang

  • 公众号 - 飘飞的心灵

640?wx_fmt=jpeg

同时,欢迎小伙伴们加 jsliang 微信一起探讨:

默认会拉你进微信群,并且推荐公众号给小伙伴

640?wx_fmt=jpeg

最后,jsliang 会吸取身边一些小伙伴的优秀文章,跟小伙伴们一起学习折腾。

如果你感觉自己的文章也不错,欢迎分享:

【推荐】前端面试每日3+1,以面试题来驱动学习,坚持每天学习与思考,每天进步一点!

  • Vue 248+ 个知识点(面试题)为你保驾护航

  • React 328道最全面试题(持续更新)

  • 前端面试每日3+1(周汇总2019.07.28)

640?wx_fmt=png

jsliang 的文档库 由 梁峻荣 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。
基于https://github.com/LiangJunrong/document-library上的作品创作。
本许可协议授权之外的使用权限可以从 https://creativecommons.org/licenses/by-nc-sa/2.5/cn/ 处获得。


版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_41806099/article/details/98003912
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-26 22:37:10
  • 阅读 ( 1275 )
  • 分类:算法

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢