ARTS(08)

作者: 本一和他的朋友们 | 来源:发表于2022-03-08 21:39 被阅读0次

    什么是 ARTS?

    1. 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习
    2. 阅读(Review): 阅读并点评至少一篇英文技术文章,提高英文水平
    3. 技巧 (Tip):学习至少一个技术技巧,总结、归纳日常工作中遇到的知识点
    4. 分享(Share):分析一篇有观点和思考的技术文章,建立影响力,输出价值观

    时间周期

    2022 年2月28日至3月6日

    一:算法:

    合并两个有序数组

    给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。
    
    说明:
    
    初始化 nums1 和 nums2 的元素数量分别为 m 和 n。
    你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
    示例:
    
    输入:
    nums1 = [1,2,3,0,0,0], m = 3
    nums2 = [2,5,6],       n = 3
    
    输出: [1,2,2,3,5,6]
    

    前置知识

    代码

    JavaScript 实现及其拓展资料

    function plusOne (digits) {
      // 初始的+1也当作是一个在个位的carry
      let carry = 1;
      for (let i = digits.length - 1; i > - 1; i--) {
        if (carry) {
          let sum = carry + digits[i];
          digits[i] = sum % 10;
          // 每次计算都会更新下一次需要用到的carry
          carry = sum > 9 ? 1 : 0;
        }
      }
      // 如果carry最后停留在1,说明有额外的一个长度,所有我们需要在首位添加一个1
      if (carry === 1) {
        digits.unshift(1);
      }
      return digits
    }
    

    Java 实现及其拓展资料

    class Solution {
      public int[] plusOne(int[] digits) {
        int n = digits.length;
        for (int i = n - 1; i >= 0; --i) {
          if (digits[i] != 9) {
            ++digits[i];
            for (int j = i + 1; j < n; ++j) {
              digits[j] = 0;
            }
            return digits;
          }
         }
    
         int[] ans = new int[n + 1];
         ans[0] = 1;
         return ans;
      }
    }
    
    

    Go实现及其拓展资料

     func plusOne(digits []int) []int {
      n := len(digits)
      for i := n - 1; i >=0; i-- {
        if digits[i] != 9 {
          digits[i]++
          for j := i + 1; j < n; j++ {
            digits[j] = 0
          }
          return digits
        }
      }
    
      digits = make([]int, n+1)
      digits[0] = 1
      return digits
    }
    

    二:阅读,英文技术文章

    Interpreting A/B test results: false positives and statistical significance:
    https://netflixtechblog.com/interpreting-a-b-test-results-false-positives-and-statistical-significance-c1522d0db27a

    三:技巧

    css双圆环旋转效果
    https://blog.csdn.net/liona_koukou/article/details/79578630

    四:分享

    09 | 做好事情的4个思维方式-极客时间
    总结:

    1. 做好四点:
      1. 强化内功:要不断强化自己的内功,保证基本功是过关的
      2. 持续改进:还要有持续改进产品的勇气
        1. 每一次你以为的终局,现在看来,都只是过程罢了
        2. 每一个人做事都要锚定“持续”这个词,不断追求完美。其实持续就是不气馁,不骄傲。
      3. 不断叠加:要有不断叠加的思维方式。如何让我们做的每一件事都能够不断叠加,写作如此,职业生涯如此。
      4. 保持耐心:应该培养自己“保持耐心”的做事心态。在快节奏的时代,应该给自己,给自己所做的事情一点耐心。
        1. 如何保持耐心?
          1. 做事情的时候降低预期
          2. 凡事要有问心无愧的思维底线。一件事情我们尽力了,最后结果怎样,那就看运气吧。因为不论成败,起码自己问心无愧

    相关文章

      网友评论

          本文标题:ARTS(08)

          本文链接:https://www.haomeiwen.com/subject/iskzrrtx.html