ARTS Week 18

Algorithm

本周的 LeetCode 题目为 55. 跳跃游戏

给定一个非负整数数组 nums, 你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。

示例 1:
输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

示例 2:
输入:nums = [3,2,1,0,4]
输出:false
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。
class Solution {
    public boolean canJump(int[] nums) {
        boolean ans = false;
        int maxIndex = 0;
        for (int i = 0; i < nums.length; i++) {
            if (i <= maxIndex) {
                maxIndex = Math.max(maxIndex, i + nums[i]);
                if (maxIndex >= nums.length - 1) {
                    ans = true;
                    break;
                }
            }   
        }
        return ans;
    }
}

Review

本周 Review 的英文文章为:我们需要你的初学者思维

作者先以维修自行车为例,分享自己如何从初学者一步步变为经验丰富的老手。作者分享自己还是初学者时,感觉进步很慢,会搞砸事情,也会感到沮丧甚至怀疑自己。但其实作为初学者,你有一个机器宝贵而短暂的视角,那便是“初学者思维”,包括了你对未来的看法、周围世界的看法、以及如何开始第一步的看法,最终会随着你学习的深入而永远消失。这些确实容易被我们忽视的超能力,因为我们作为初学者正陷入困境中,在这种状态下:

  • 你不受观点和意见的影响。因为你没有观点,因此会包容各种观点,听得更深、看得更清楚
  • 你的失败经验可以减少别人失败的几率
  • 你像一个学生,意味着别人像老师一样
  • 你可以问任何问题,即使这个问题很愚蠢,但无知者无罪

作者也给出来帮助初学者拥抱初学者思维的方法:

  • 认识到它的价值并承认它的短暂性
  • 向网友、你的同学、同时,甚至一个你信任的人,提出你搜有的”好“问题
  • 认识到要求别人教你对他们来说是一种礼物
  • 记住我们总有时候会是初学者

同时,作者也给出了一个有经验的人如何更好地帮助初学者:

  • 鼓励他们提问并敢于提出你自己的“愚蠢”问题
  • 拥抱教师的角色,愿意花时间教育帮助他们
  • 如果你没有时间给出一个很好的答案,就说出来等你有时间后再来
  • 愿意分享、讲述关于你的失误、错误、甚至灾难的故事

Tip

Markdown 如何实现上标和下标。Markdown 可以用 <sup></sup> 标签来实现上标的效果,可以用 <sub></sub> 标签来实现下标的效果。例如,A<sup>1</sup> 会显示为 A1B<sub>2</sub> 会显示为 B2

值得注意的是,这个语法并不是 Markdown 的基本语法,因此并不是所有编辑器、在线平台都会支持。至少 Github 目前是支持支持的 😃。

Share

不知不觉12月又要结束了,但自己目前还是只能做到每周保证 ARTS 的更新,无法做到更新其他内容的博文,实属惭愧 😦 😦 😦。

posted @ 2021-12-25 20:51  永远是萌新的阿岩  阅读(99)  评论(0编辑  收藏  举报