LeetCode简单题之判断能否形成等差数列
生活随笔
收集整理的這篇文章主要介紹了
LeetCode简单题之判断能否形成等差数列
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
給你一個(gè)數(shù)字?jǐn)?shù)組 arr 。
如果一個(gè)數(shù)列中,任意相鄰兩項(xiàng)的差總等于同一個(gè)常數(shù),那么這個(gè)數(shù)列就稱為 等差數(shù)列 。
如果可以重新排列數(shù)組形成等差數(shù)列,請(qǐng)返回 true ;否則,返回 false 。
示例 1:
輸入:arr = [3,5,1]
輸出:true
解釋:對(duì)數(shù)組重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相鄰兩項(xiàng)的差分別為 2 或 -2 ,可以形成等差數(shù)列。
示例 2:
輸入:arr = [1,2,4]
輸出:false
解釋:無法通過重新排序得到等差數(shù)列。
提示:
2 <= arr.length <= 1000
-10^6 <= arr[i] <= 10 ^6
來源:力扣(LeetCode)
解題思路
??根據(jù)等差數(shù)列的定義,我們將原數(shù)組進(jìn)行排序,判斷每一項(xiàng)是否比它的前一項(xiàng)多一個(gè)固定的常數(shù)。
class Solution:def canMakeArithmeticProgression(self, arr: List[int]) -> bool:if len(arr)<3:return Truearr.sort()d=arr[1]-arr[0]for i in range(2,len(arr)):if arr[i]-arr[i-1]!=d:return Falsereturn True
總結(jié)
以上是生活随笔為你收集整理的LeetCode简单题之判断能否形成等差数列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode简单题之去掉最低工资和最
- 下一篇: LeetCode简单题之将句子排序