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