Android工程师之ARTS挑战第六期第6周

目标:

  1. 每周至少做一个 leetcode 的算法题

  2. 阅读并点评至少一篇英文技术文章

  3. 学习至少一个技术技巧

  4. 分享一篇有观点和思考的技术文章

第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://time.geekbang.org/column/article/75702

你可能感兴趣的:(Android进阶)