April 21:Weekly Journal Board

128 阅读2分钟

①①

花褪残红青杏小。燕子飞时,绿水人家绕。枝上柳绵吹又少。天涯何处无芳草!
墙里秋千墙外道。墙外行人,墙里佳人笑。笑渐不闻声渐悄。多情却被无情恼。

2022年8月15日

121. 买卖股票的最佳时机

2022年8月16日

53. 最大子数组和

2022年8月17日

冒泡排序

时间:

空间:


# 冒泡排序
def bubbleSort(nums):
    n = len(nums)
    # for i in range(len(nums)):
    #     for j in range(i, len(nums)):
    #         if nums[i] > nums[j]:
    #             nums[i], nums[j] = nums[j], nums[i]

    # # 将小值冒泡
    # for i in range(n):
    #     exchange = False
    #     for j in range(n-2, i-1, -1):
    #         if nums[j] > nums[j+1]:
    #             nums[j+1], nums[j] = nums[j], nums[j+1]
    #             exchange = True
    #     if not exchange:
    #         break
    # return nums

    # 将大值冒泡
    for i in range(n):
        exchange = False
        for j in range(n-i-1):
            if nums[j] > nums[j+1]:
                nums[j+1], nums[j] = nums[j], nums[j+1]
                exchange = True
        if not exchange:
            break
    return nums

2022年8月18日

选择排序

时间:

空间:


# 选择
def selectionSort(nums):
    n = len(nums)
    # # 选择 小 → 大
    # for i in range(n):
    #     minIdx = i
    #     # minIdx = n - 1
    #     for j in range(i, n):
    #         if nums[j] < nums[minIdx]:
    #             minIdx = j
    #     nums[i], nums[minIdx] = nums[minIdx], nums[i]

    # 选择 大 → 小
    for i in range(n-1, -1, -1):
        maxIdx = i
        # minIdx = n - 1
        for j in range(i, -1, -1):
            if nums[j] > nums[maxIdx]:
                maxIdx = j
        nums[i], nums[maxIdx] = nums[maxIdx], nums[i]
    return nums
    

2022年8月19日

插入排序

时间:

空间:


# 插入
def insertionSort(nums):
    # 次次交换
    n = len(nums)
    # for i in range(1, n):
    #     for j in range(i, 0, -1):
    #         if nums[j-1] > nums[j]:
    #             nums[j-1], nums[j] = nums[j], nums[j-1]
    #         else:
    #             break
    # return nums

    # 次次交换/2
    for i in range(1, n):
        # 寻找a[i]合适的插入位置
        temp = nums[i]
        for j in range(i, 0, -1):
            if (temp < nums[j-1]):
                nums[j] = nums[j-1]
            else:
                j += 1
                break
        nums[j-1] = temp
    return nums
    

2022年8月20日

2022年8月21日

198. 打家劫舍