Create by jsliang on 2019-07-30 16:15:37
Recently revised in 2019-07-30 17:04:20
7 月下半旬攻略 45 道题,目前已攻略 100 题。
一 目录
不折腾的前端,和咸鱼有什么区别
| 目录 |
| --- |
| 一 目录 |
| 二 前言 |
| 三 汇总 |
| 3.1 LeetCode 已攻略 |
| 3.2 Function & Object |
| 四 总结 |
二 前言
返回目录
自 2019-05-16
开始,jsliang 每天会折腾一道及以上 LeetCode 题目,并将其解题思路记录成文章,发布到 GitHub 和 微信公众号。
- 微信公众号记录截图:
- GitHub 记录截图:
目前关于这块 LeetCode &&& 算法与数据结构 的安排:
- 【完成】
2019/08/15
前。LeetCode 简单难度题目 - 完成 100 道简单 LeetCode 题目的题解。 - 【准备开始】
2019/08/01
-2019/09/01
。初步钻研算法与数据结构。 - 【尚未开始】。LeetCode 中等难度题目 - 完成 50 道中等 LeetCode 题目的题解。
- 【尚未开始】。进一步钻研算法与数据结构。
- 【尚未开始】。LeetCode 困难难度题目 - 完成 20 道困难 LeetCode 题目的题解。
- 【尚未开始】。完善算法与数据结构。
截至目前为止,jsliang 在攻略 LeetCode 中的收获:
- JS 基础:ES5、ES6 等的 API,以及它们的应用……
- 解题思维:碰到难点,会先分析这道题的破解方法,然后进一步讲解优化思路……
- 算法与数据结构:双指针、动态规划、链表、二叉树……
所以,如果小伙伴跟 jsliang 一样,希望提升下对于原生 JS API 的理解及使用,熟悉算法与数据结构,可以跟紧 jsliang 的公众号以及 GitHub:
- 公众号:
- GitHub:jsliang 的文档库
三 汇总
返回目录
相比于 jsliang 的 LeetCode 6 月和 7 月中旬汇总:
LeetCode 由 1114 道题变成了 1134 道题,增加了 20 道题。
jsliang 在 LeetCode 简单难度的题解,由 55 道题变成 100 道题,增加了 45 道题的题解。
jsliang 在 JavaScript 的基础知识上,增加了几篇 JavaScript 基础文章。
3.1 LeetCode 已攻略
返回目录
jsliang 目前已攻略 100 道 LeetCode。
如果小伙伴们在攻略 LeetCode 的过程中,想出一些优秀题解,欢迎提交到 Issue,或者直接在 jsliang 的小册留言,或者拉到文章最下面,添加 jsliang 的微信等:
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 - 对象
四 总结
返回目录
知识的增加并非一朝一夕的事,jsliang 在今天以前,每天早上 7:30 - 9:00
会攻略一道简单难度的 LeetCode,并将自己的思路,通过文章的形式记录下来。
目前简单难度攻略已经到 100 题,所以后面 jsliang 会调整自己,在刷 算法与数据结构 的同时,攻略中等难度的题目。
至于之后的高级难度,会循序渐进地攻略,感兴趣的小伙伴们可以持续关注我的 GitHub、公众号:
- GitHub - jsliang 的文档库
- 公众号 - 飘飞的心灵
同时,欢迎小伙伴们加 jsliang 微信一起探讨:
默认会拉你进微信群,并且推荐公众号给小伙伴
最后,jsliang 会吸取身边一些小伙伴的优秀文章,跟小伙伴们一起学习折腾。
如果你感觉自己的文章也不错,欢迎分享:
【推荐】前端面试每日3+1,以面试题来驱动学习,坚持每天学习与思考,每天进步一点!
<img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org...; />
<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">jsliang 的文档库</span> 由 梁峻荣 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。
基于https://github.com/LiangJunro...上的作品创作。
本许可协议授权之外的使用权限可以从 https://creativecommons.org/l... 处获得。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。