什么是 ARTS?
- 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习
- 阅读(Review): 阅读并点评至少一篇英文技术文章,提高英文水平
- 技巧 (Tip):学习至少一个技术技巧,总结、归纳日常工作中遇到的知识点
- 分享(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
四:分享
- 做好四点:
- 强化内功:要不断强化自己的内功,保证基本功是过关的
- 持续改进:还要有持续改进产品的勇气
- 每一次你以为的终局,现在看来,都只是过程罢了
- 每一个人做事都要锚定“持续”这个词,不断追求完美。其实持续就是不气馁,不骄傲。
- 不断叠加:要有不断叠加的思维方式。如何让我们做的每一件事都能够不断叠加,写作如此,职业生涯如此。
- 保持耐心:应该培养自己“保持耐心”的做事心态。在快节奏的时代,应该给自己,给自己所做的事情一点耐心。
- 如何保持耐心?
- 做事情的时候降低预期
- 凡事要有问心无愧的思维底线。一件事情我们尽力了,最后结果怎样,那就看运气吧。因为不论成败,起码自己问心无愧
- 如何保持耐心?
网友评论