September 18:Weekly Journal Board

89 阅读1分钟

①⑤

楚天千里清秋,水随天去秋无际。遥岑远目,献愁供恨,玉簪螺髻。落日楼头,断鸿声里,江南游子。把吴钩看了,栏杆拍遍,无人会,登临意。
休说鲈鱼堪脍,尽西风,季鹰归未?求田问舍,怕应羞见,刘郎才气。可惜流年,忧愁风雨,树犹如此!倩何人唤取,红巾翠袖,揾英雄泪!

2022年9月12日

80. 删除有序数组中的重复项 II

常规思路:


def removeDuplicates(nums, n):
    _nums = []
    numsSet = []
    for num in nums:
        if num not in numsSet:
            numsSet.append(num)
    for num in numsSet:
        n = nums.count(num)
        if n > 2:
            n = 2
        _nums.extend([num] * n)        
    nums[:] = _nums[:]
    return len(nums)

2022年9月13日

80. 删除有序数组中的重复项 II

2022年9月14日

75. 颜色分类

常规思路:


def sortColors(nums):
    # 1
    temp = [0, 0, 0]
    for n in nums:
        if n == 0:
            temp[0] += 1
        elif n == 1:
            temp[1] += 1
        else:
            temp[2] += 1
    nums.clear()
    nums[:] = [0] * temp[0] + [1] * temp[1] + [2] * temp[2]

2022年9月15日

75. 颜色分类

2022年9月16日

215. 数组中的第K个最大元素

2022年9月17日

88. 合并两个有序数组

常规思路:


def merge(nums1, m, nums2, n):
    """
    Do not return anything, modify nums1 in-place instead.
    """
    # 1)
    temp = nums1.copy()
    i, j = 0, 0
    for idx in range(m+n):
        if i < m and j < n:
            if temp[i] <= nums2[j]:
                nums1[idx] = temp[i]
                i += 1
            else:
                nums1[idx] = nums2[j]
                j += 1
        elif i < m and j >= n:
            nums1[idx] = temp[i]
            i += 1
        elif i >= m and j < n:
            nums1[idx] = nums2[j]
            j += 1

2022年9月18日

88. 合并两个有序数组