目标:
-
每周至少做一个 leetcode 的算法题
-
阅读并点评至少一篇英文技术文章
-
学习至少一个技术技巧
-
分享一篇有观点和思考的技术文章
第6周:
-
Leetcode 557
class Solution { public String reverseWords(String s) { String[] splitWords = s.split(" "); List<String> reverseWords = new ArrayList<String>(); for (String words : splitWords) { char[] wordsChars = words.toCharArray(); StringBuilder result = new StringBuilder(); for (int i = wordsChars.length - 1; i >= 0; i--) { result.append(wordsChars[i]); } reverseWords.add(result.toString()); } // ArrayList charList = new ArrayList(Arrays.asList(chars)); // Collections.reverse(charList); StringBuilder reverseResult = new StringBuilder(); for (String reverseWord : reverseWords) { reverseResult.append(reverseWord + " "); } return reverseResult.toString().substring(0, reverseResult.length() - 1); } }
-
阅读并点评至少一篇英文技术文章
- https://proandroiddev.com/how-kotlin-helps-you-avoid-memory-leaks-e2680cf6e71e
- kotlin
- https://proandroiddev.com/how-kotlin-helps-you-avoid-memory-leaks-e2680cf6e71e
-
学习至少一个技术技巧 :动态规划
- “一个模型三个特征”理论讲解
- 最优子结构
- 无后效性
- 重复子问题
- 两种动态规划解题思路总结
- 状态转移表法
- 状态转移方程法
- “一个模型三个特征”理论讲解
-
分享一篇有观点和思考的技术文章
数据结构与算法之美 动态规划的三节课
- https://time.geekbang.org/column/article/75702