如果陣列是單調遞增或單調遞減的,那麼它是單調的。
如果對於所有 i <= j,a[i] <= a[j],那麼陣列 a 是單調遞增的。 如果對於所有 i <= j,a[i]> = a[j],那麼陣列 a 是單調遞減的。
當給定的陣列 a 是單調陣列時返回 true,否則返回 false。
class
solution
(object)
: def ismonotonic
(self,a)
:"""
:type a
: list[int]
:rtype: bool
"""length =
len(a)
if length<=2:
return true
# flag 用於記錄是遞增還是遞減
# 前面幾個數都相等時,無法判斷
# 一旦能確定大小關係,就停止迴圈
for i in
range(1
,length):if
a[i-1]
>
a[i]
: flag =
1breakifa
[i-1
]<
a[i]
: flag =
0break
# 前i個數都已經判斷過是遞增還是遞減的了,從第i+
1個開始判斷
for j in
range
(i+1
,length)
:if flag==1:
ifa[j-1
]<
a[j]
:return false
else:if
a[j-1]
>
a[j]
:return false
return true
力扣刷題記錄05
題目分類 二分查詢 時間 2020 09 09 題目一 兩數之和 兩數之和 ii 輸入有序陣列 給定乙個已按照公升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 ind...
力扣刷題記錄2
第一題是每日一題的簡單題。需要記的並不多,一是用迭代器對vector的一些基本操作。可以參考這裡 for vector iterator iter num.begin iter num.end iter 另外是快排的思想。這種思想實用性很廣,即使不需要排序,在找出最大的k個數,對陣列進行分割 以中間...
力扣刷題記錄10
三角形的最大周長 看到這個題目,我想到了排序後從最大的中挑選,但遇到了點困難,一方面是無法記錄哪個是最大的點,這樣每次都要判斷。另一方面是根據題目要求,每個數只能用一次,要記錄下當前哪些是已經被使用了的。看到題解之後感覺自己是個智障。class solution return0 下次貪心時候也要動動...