leedcode-第三大的數

Junior_bond發表於2024-04-26

自己寫的,用時很長

from typing import List

class Solution:
    def thirdMax(self, nums: List[int]) -> int:
        # 計算輸入列表的長度
        n = len(nums)
        # 對列表進行氣泡排序,將較大的元素排在前面
        for i in range(n-1):
            for j in range(n-1-i):
                if nums[j] < nums[j+1]:
                    nums[j], nums[j+1] = nums[j+1], nums[j]
        
        # 建立一個空列表用於存放排序後的唯一元素
        new_nums = []
        # 遍歷排序後的列表
        for i in nums:
            # 如果元素不在新列表中,則新增到新列表中
            if i not in new_nums:
                new_nums.append(i)
        
        # 獲取新列表的長度
        new_len = len(new_nums)
        # 如果新列表長度小於3,則返回列表中的第一個元素
        if new_len < 3:
            return new_nums[0]
        # 否則返回新列表中的第三個元素
        else:
            return new_nums[2]

相關文章