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>
會顯示為 A1,B<sub>2</sub>
會顯示為 B2。
值得注意的是,這個語法並不是 Markdown 的基本語法,因此並不是所有編輯器、在線平台都會支援。至少 Github 目前是支援支援的 😃。
Share
不知不覺12月又要結束了,但自己目前還是只能做到每周保證 ARTS 的更新,無法做到更新其他內容的博文,實屬慚愧 😦 😦 😦。