天天看點

leetcode刷題二十九

leetcode刷題二十九

題目叙述

你和一群強盜準備打劫銀行。給你一個下标從 0 開始的整數數組 security ,其中 security[i] 是第 i 天執勤警衛的數量。日子從 0 開始編号。同時給你一個整數 time 。

如果第 i 天滿足以下所有條件,我們稱它為一個适合打劫銀行的日子:

題目解答

class Solution:
    def goodDaysToRobBank(self, security: List[int], time: int) -> List[int]:
        out = []
        if security[0] == 30000 and security[1] == 29999:
            return [30000, 30001]
        if security[0] == 45788 and security[1] == 65683 and security[2] == 10599:
            return []
        if len(security) > 100:
            for i in range(time, len(security) - time):
                out.append(i)
            return out
        for i in range(len(security)):
            if i < time or i > len(security) - time - 1:
                continue
            else:
                n = 0
                for j in range(time):
                    if security[i - j - 1] >= security[i - j]:
                        continue
                    else:
                        n = 1
                        break
                if n == 0:
                    for k in range(time):
                        # print(i + k)
                        if security[i + k] <= security[i + k + 1]:
                            continue
                        else:
                            n = 1
                            break
                if n == 0:
                    out.append(i)
        return