Weekly 9

Algorithm

1.Remove Duplicates from Sorted Array

  • What 从有序数组中删除重复项

  • How 用快慢指针来记录遍历的坐标,最开始时两个指针都指向第一个数字,如果两个指针指的数字相同,则快指针向前走一步,如果不同,则两个指针都向前走一步,这样当快指针走完整个数组后,慢指针当前的坐标加1就是数组中不同数字的个数。

  • Key Codes
class Solution {
    public int removeDuplicates(int[] nums) {
        if(nums.length == 0){return  0;}
        int sum=0,i;
        for(i=0;i<nums.length;i++){
            if(nums[sum]!=nums[i]){
                nums[++sum] = nums[i];
            }
        }
        return sum+1;
    }
}

Review

Report: The Startup Pyramid

  • What 创业公司金字塔

  • How 首先你要达到product market fit,判断创业公司是否达到的方法很多。
    这是其中一种:问你的用户“如果你不能再用我的产品了,你会很失望吗?” 如果40%以上的用户回答“非常非常失望”,那就 fit 了。

Tip

  • What SQL数据去重及row_number()

  • How
select* 
 from(select *,row_number() over (partitionby tran_idorder by timestamp asc) num from table) t 
wheret.num=1; 

分析:意思是先根据tran_id进行分组,并在分组内部按timestamp降序排序,row_number()函数计算的值就表示某个tran_id组内部排序后的顺序编号(该编号在一个组内是连续并且唯一的)。所以最后直接去每个分组内的第一个(num=1)即可。

Share

蒋方舟:你必须非常努力,才能勉强过上平庸的生活

猜你喜欢

转载自www.cnblogs.com/cmh1111/p/10186650.html