LeetCode 攻略 - 2019 年 7 月上半月汇总(55 题攻略)

Create by jsliang on 2019-07-15 11:54:45
Recently revised in 2019-07-15 15:25:25

一 目录

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

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

二 前言

返回目录

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

  • 微信公众号记录截图:

  • GitHub 记录截图:

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

  1. 2019/08/15 前。LeetCode 简单难度题目 - 完成 100 道简单 LeetCode 题目的题解。
  2. 2019/08/15 - 2019/09/15。初步钻研算法与数据结构。
  3. 时间未知。LeetCode 中等难度题目 - 完成 50 道中等 LeetCode 题目的题解。
  4. 时间未知。进一步钻研算法与数据结构。
  5. 时间未知。LeetCode 困难难度题目 - 完成 20 道困难 LeetCode 题目的题解。
  6. 时间未知。完善算法与数据结构。

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

  • JS 基础:ES5、ES6 等的 API,以及它们的应用……
  • 解题思维:碰到难点,会先分析这道题的破解方法,然后进一步讲解优化思路……
  • 算法与数据结构:双指针、动态规划、链表、二叉树……

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

  • 公众号:

  • GitHub:jsliang 的文档库

三 汇总

返回目录

相比于 jsliang 的 LeetCode 6 月汇总:

  • LeetCode 6 月汇总 - GitHub

LeetCode 由 1098 道题变成了 1114 道题,增加了 16 道题。

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

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

3.1 LeetCode 已攻略

返回目录

jsliang 目前已攻略 55 篇文章。

如果小伙伴们在攻略 LeetCode 的过程中,想出一些优秀题解,欢迎提交到 Issue,或者在 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) ✔

3.2 Function & Object

返回目录

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

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

Function - 方法

  • 方法 - charCodeAt()
  • 方法 - 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,并将自己的思路,通过文章的形式记录下来。

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

  • GitHub - jsliang 的文档库
  • 公众号 - 飘飞的心灵

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

  • Vue 220+ 个知识点(面试题)为你保驾护航
  • 前端面试每日3+1(周汇总2019.07.14)

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

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

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

你可能感兴趣的:(leetcode,数据结构,算法,javascript)