Contents

ARST打卡第279周

lc977_有序数组的平方 【TED演讲】中国互联走向何方?(2017) Hacker News 推荐《与开源同行: 解密PingCAP七年创业实践》

Algorithm

lc977_有序数组的平方

思路:

先log(n)找到正负分界线,然后双指针往两边扩展。

可以直接双指针往两边收缩,每次比较左右两边平方的大小,把大的放到结果数组里面。

以前做过. 这次用rust实现. 借助了 cursor..

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
impl Solution {
    pub fn sorted_squares(nums: Vec<i32>) -> Vec<i32> {
        let n = nums.len();
        let mut result = vec![0; n];
        
        // 要注意特例,否则 Compile Error. 一发
        if n == 1 {
            return vec![nums[0] * nums[0]];
        }
        
        let mut left = 0;
        let mut right = n - 1;
        let mut index = n - 1;

        while left <= right {
            let left_square = nums[left] * nums[left];
            let right_square = nums[right] * nums[right];
            
            if left_square > right_square {
                result[index] = left_square;
                left += 1;
            } else {
                result[index] = right_square;
                right -= 1;
            }
            
            // 这里也能处理n=1的情况
            if index == 0 {
                break;
            }
            index -= 1;
        }

        result
    }
}

Review

【TED演讲】中国互联走向何方?(2017)

作为一个2017年的视频,已经在讲互联网下沉市场了,挺有远见的,拼多多就是做的下沉市场。

Tips

Hacker News

空闲时间可以多看看 Hacker News ,了解了解行业动态。

Share

推荐 《与开源同行: 解密PingCAP七年创业实践》

  • 国际视野(从一开始就做全世界的市场,全英文,Hacker News,国际化运营)
  • 开源战略(开源并专业维护,能让整个世界加入正向飞轮,数据库开源才能获取客户信任)
  • 社区维护(做很酷的事情吸引人才
  • 帮助客户成功(客户成功会带来口碑,也让产品不断克服一个个真是场景)
  • 解耦架构(从人体系统来思考,一个个细胞分裂和组合)

其实最最最吸引自己的还是做很酷的事情,自己个人过往经历感觉,只有做很酷的事情,自己才会有强大的自驱力。 希望从这本书开始,找回做很酷的事情的心态和自驱力。