题目:
思路+代码:
思路:
首先可以知道,边界情况带有2个0时,max-min < 5; 所以只要这5个数除0之外不重复,且max-min <5,那么就一定是连续的;不需要具体的根据0的个数去判断;
时间复杂度:O(n)
空间复杂度:O(n); 一个数set()判重是O(1)
class Solution:
def isStraight(self, nums: List[int]) -> bool:
# 思路:
# 首先可以知道,边界情况带有2个0时,max-min < 5; 所以只要这5个数除0之外不重复,且max-min <5,那么就一定是连续的;不需要具体的根据0的个数去判断;
repeat = set()
ma, mi = 0, 14
for num in nums:
if num == 0: continue
ma = max(num, ma)
mi = min(num, mi)
if num not in repeat:
repeat.add(num)
else:
return False
return ma - mi < 5
本文地址:https://blog.csdn.net/qq_36533552/article/details/107659273