-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path1752.py
30 lines (27 loc) · 871 Bytes
/
1752.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Solution:
def try_i(self, nums: [], m_i: int) -> bool:
for i in range(1, m_i):
if nums[i-1] > nums[i]:
print(i, nums[i-1], '>', nums[i])
return False
for i in range(m_i + 1, len(nums)):
if nums[i-1] > nums[i]:
print(i, nums[i-1], '>', nums[i])
return False
if m_i != 0 and nums[0] < nums[-1]:
return False
return True
def check(self, nums: List[int]) -> bool:
m_is = set([0])
m = nums[0]
for i in range(len(nums)):
if nums[i] < m:
m = nums[i]
m_is.clear()
m_is.add(i)
elif nums[i] == m:
m_is.add(i)
for m_i in m_is:
if self.try_i(nums, m_i):
return True
return False