每週完成一個 ARTS: 至少做一個 LeetCode 的演算法題、閱讀並點評至少一篇英文技術文章、學習至少一個技術技巧、分享一篇有觀點和思考的技術文章。(也就是 Algorithm、Review、Tip、Share 簡稱 ARTS)
Algorithm | 演算法訓練
每週至少做一個 LeetCode 的演算法題(先從 Easy 開始,然後再 Medium,最後才 Hard)。如果不訓練看再多的演算法書,依然不會做演算法題,看完書後需要訓練。關於做Leetcode的的優勢,可以看一下 左耳朵耗子.coolshell.com 上的文章:
題:283. 移動零
給定一個陣列 nums,編寫一個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。
示例:
輸入: [0,1,0,3,12]
輸出: [1,3,12,0,0]
說明:
必須在原陣列上操作,不能複製額外的陣列。
儘量減少操作次數。
透過次數176,518提交次數286,168
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/move-zeroes
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
class Solution {
public void moveZeroes(int[] nums) {
int j = 0;
for(int i=0; i < nums.length;i++){
if(nums[i]!=0){
nums[j]=nums[i];
if(i!=j){
nums[i]=0;
}
j++;
}
}
}
}
溫馨提示:
LeetCode 上有烏克蘭小姐姐出沒,下面就是她的題解。
@Olsh:THE EASIEST but UNUSUAL snowball JAVA solution BEATS 100% (O(n)) + clear explanation
Review | 英語閱讀
主要為了學習英文,如果英文不行,基本上無緣技術高手。
The Product-Minded Software Engineer
文章主要講如何成為一個具有產品思維的工程師,主要有9個階段:
1. 積極地開啟產品思維
2. 對商業,使用者行為以及資料保持興趣
3. 保持好奇並且善於思考為什麼
4. 有效溝通的能力和對工程師意外的人群的關係處理
5. 在產品和工程方面的平衡
6. 務實地應對邊界問題
7. 快速地確認產品週期
8. 端到端的產品特性
9. 透過週而復始的學習鍛鍊產品本能
英語學習不僅僅是為了學知識更重要的是習得技能。語言學習沒有捷徑,只有日積月累。
Tips | 程式設計小技巧
總結和歸納日常工作中學到的知識點,遇到的問題,踩過的坑。
1. 因為操之過急,將Java 的StringUtils.isNotBlank()方法理解為”字串為空“,而排查問題是卻沒有聯絡上下文仔細排查問題。導致浪費了一整天的時間。今後需要鞏固Java的基礎知識
,聯絡好上下文。這對提高工作效率有很大的幫助。
2. 做事要專注。
Share | 分享
輸出價值觀,分享一篇有觀點和思考的技術文章。
花了一天的時間去翻看郭宇的微博和相關的資料,算是比較全面的瞭解了他的成長曆程。
他人的經歷雖不可複製,但可以對個人的成長產生一定啟發。透過翻看郭宇近十年的微博讓我有了多點啟發。
首先
如果你需要獲取更接近現實的一手資訊,就需要去到資訊的源頭找答案,而不是隨便看幾篇報導(大多數報導的質量很差,且還多內容是YY的)。
其二
,就像王小波說的
無論是工作還是業餘時間折騰彙編或者寫小說也好,都要保持有趣。
程式設計師除了程式設計還需要對世界的運轉規律有自己的認識,要善於總結和思考。有趣和特別都是寶貴的競爭力,畢竟Everything is a machine。
其三
,他2013年以前就在關注網際網路公司的股票了(價值投資),在28歲退休之後,投資股市算是在生活中時間佔比比較多的。而投資這件事迄今為止我都沒有看到過有任何的文章有提及。既然寫了文章為什麼不好好收集資料呢?這或許是大部分人之所以平庸的原因吧。低效地勞動,卻被自己的勤奮感動。
其四
,要保持開放,好奇,學習的態度和熱情,透過比爾.蓋茨的紀錄片走進比爾:解碼比爾·蓋茨 Inside Bill’s Brain: Decoding Bill Gates還有 查理.芒格 的《窮查理寶典》我發現,比爾.蓋茨,巴菲特,查理芒格都有大量閱讀的習慣。比如生活中遇到問題,這種大量閱讀,交叉驗證的方式對解決問題幫助很大。並且可以讓答案更接近事實。
其五
,所在的行業,決定了發展的空間和機會。
其六
,摘錄一條郭宇的微博:
每次當我決定是不是要轉行放棄寫程式碼這種無聊的工作時,我都會想一想當年我是為什麼感覺在蓮花山腳下買個房子,取個妻子,生個孩子是件畢生所追求的幸福事。既然幸福的含義已經變得遙不可及,就得面對著程式設計師的道路走下去,賺錢實現自己的目標和去往內心所向。
本作品採用《CC 協議》,轉載必須註明作者和本文連結