ARTS(08)

84 阅读2分钟

什么是 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: netflixtechblog.com/interpretin…

三:技巧

css双圆环旋转效果 blog.csdn.net/liona_kouko…

四:分享

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

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