题目信息:
删了,不然判我抄袭某某某。自行点击底部链接查看。
本人思路:
1、对列表进行排序,如果和原列表相同,返回true
2、对排序后的列表倒序,再进行比较
class Solution:
def isMonotonic(self, A):
dandiao_A = sorted(A)
if A == dandiao_A:
return True
dandiao_A.reverse()
if A == dandiao_A:
return True
return False
因和某文章高度相似,无法发布原创,本人不得不再贴上第二种解法:
遍历判断列表是否递增or递减
class Solution:
def isMonotonic(self, A):
if self.more_than(A) or self.less_than(A):
return True
return False
def more_than(self, A):
for i in range(1, len(A)):
if A[i] < A[i-1]:
return False
return True
def less_than(self, A):
for i in range(1, len(A)):
if A[i] > A[i-1]:
return False
return True
两种解法耗时如下:
python内置方法险胜。
注:
题目来源:力扣(LeetCode)