[置顶] 2020年,我对写博客这件事的看法和经验

很多人说博客的红利时代过去了,确实,如果从收获流量角度来看,精心写的系列教程远不如几个公众号的联合活动带动的流量多。幸运的是,还是有很多人通过博客来记录成长,通过博客分享观点,通过博客深挖技术,通过 google 来搜索问题,优秀的博文终将会在开放的互联网上留下痕迹

博客无法带来大规模流量,但它给了我们自己独立思考的时间;博客无法实现财富自由,但它记录着我们一步步成长的历史;博客无法让一篇文章变成爆文,但它能给真正需要的人以帮助。以上种种,都让我更越来越相信博客的价值,而相信,本身就是一种力量。

如果你也在坚持写博客,或者还在犹豫是否要写博客,或者想主动学习和分享,那么本篇文章将对你有所帮助。

剑指offer - 最小的k个数 - JavaScript

题目描述:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入 4、5、1、6、2、7、3、8 这 8 个数字,则最小的 4 个数字是 1、2、3、4。

限制:

  • 0 <= k <= arr.length <= 1000
  • 0 <= arr[i] <= 1000

剑指offer - 机器人的运动范围 - JavaScript

题目描述:地上有一个 m 行 n 列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于 k 的格子。例如,当 k 为 18 时,机器人能够进入方格 [35, 37] ,因为 3+5+3+7=18。但它不能进入方格 [35, 38],因为 3+5+3+8=19。请问该机器人能够到达多少个格子?

提示:

  • 1 <= n,m <= 100
  • 0 <= k <= 20

LeetCode 102.二叉树的层次遍历 - JavaScript

题目描述:给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。

例如给定二叉树:

    3
   / \
  9  20
    /  \
   15   7

返回其层次遍历结果:

[
  [3],
  [9,20],
  [15,7]
]

剑指offer - 从上到下打印二叉树III - JavaScript

题目描述: 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。

剑指offer - 删除链表节点 - JavaScript

题目描述:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。

示例:

输入: head = [4,5,1,9], val = 5
输出: [4,1,9]
解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.

LeetCode 79.单词搜索 - JavaScript

题目描述:给定一个二维网格和一个单词,找出该单词是否存在于网格中。

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

例子:

board =
[
  ['A','B','C','E'],
  ['S','F','C','S'],
  ['A','D','E','E']
]

给定 word = "ABCCED", 返回 true.
给定 word = "SEE", 返回 true.
给定 word = "ABCB", 返回 false.

剑指offer - 打印从 1 到最大的 n 位数 - JavaScript

输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。

例如:

输入: n = 1
输出: [1,2,3,4,5,6,7,8,9]

LeetCode 101.对称二叉树 - JavaScript

题目描述:给定一个二叉树,检查它是否是镜像对称的。

LeetCode 343.整数拆分 - JavaScript

题目描述:给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×