如果陣列是單調遞增或單調遞減的,那麼它是單調的。
如果對於所有 i <= j,a[i] <= a[j],那麼陣列 a 是單調遞增的。 如果對於所有 i <= j,a[i]> = a[j],那麼陣列 a 是單調遞減的。
當給定的陣列 a 是單調陣列時返回 true,否則返回 false。
示例 1:
輸入:[1,2,2,3]示例 2:輸出:true
輸入:[6,5,4,4]示例 3:輸出:true
輸入:[1,3,2]示例 4:輸出:false
輸入:[1,2,4,5]示例 5:輸出:true
輸入:[1,1,1]1 <= a.length <= 50000輸出:true
-100000 <= a[i] <= 100000
class
solution
:def
ismonotonic
(self, a):if
len(
set(a))==
1:return
true
left =
0 right =
1while a[left]
== a[right]
: right +=
1if a[left]
< a[right]
:for i in
range
(len
(a)-1)
:if a[i]
> a[i +1]
:return
false
elif a[left]
> a[right]
:for i in
range
(len
(a)-1)
:if a[i]
< a[i +1]
:return
false
return
true
更簡便的方法,陣列與排序後或倒序排序的陣列相同就是單調的。
class
solution
:def
ismonotonic
(self, a)
: b =
sorted
(a)if b == a or
list
(reversed
(b))
== a:
return
true
return
false
Leecode每日一題 單調數列
如果陣列是單調遞增或單調遞減的,那麼它是單調的。如果對於所有 i j,a i a j 那麼陣列 a 是單調遞增的。如果對於所有 i j,a i a j 那麼陣列 a 是單調遞減的。當給定的陣列 a 是單調陣列時返回 true,否則返回 false。示例 1 輸入 1,2,2,3 輸出 true 示例...
力扣每日一題 896 單調數列
解題思路 解題 解題感悟 難度 簡單 題目 如果陣列是單調遞增或單調遞減的,那麼它是單調的。如果對於所有 i j,a i a j 那麼陣列 a 是單調遞增的。如果對於所有 i j,a i a j 那麼陣列 a 是單調遞減的。當給定的陣列 a 是單調陣列時返回 true,否則返回 false。輸入 1...
每日一題 25外觀數列
給定乙個正整數 n 1 n 30 輸出外觀數列的第 n 項。注意 整數序列中的每一項將表示為乙個字串。外觀數列 是乙個整數序列,從數字 1 開始,序列中的每一項都是對前一項的描述。前五項如下 1.12.113.214.1211 5.111221 第一項是數字 1 描述前一項,這個數是 1 即 乙個 ...