您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“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
解釋:無法通過重新排序得到等差數列。
基于等差數列的計算方式進行解決。
import java.util.Arrays;
public class CanMakeArithmeticProgressionTest {
public static void main(String[] args) {
int[] arr = {1, 3, 5, 7};
boolean canMakeArithmeticProgression = canMakeArithmeticProgression(arr);
System.out.println("canMakeArithmeticProgression = " + canMakeArithmeticProgression);
}
public static boolean canMakeArithmeticProgression(int[] arr) {
if (arr == null) {
return false;
}
Arrays.sort(arr);
int a1 = arr[0];
int a2 = arr[1];
int value = a2 - a1;
for (int i = 1; i < arr.length; i++) {
if (arr[i] - arr[i - 1] != value) {
return false;
}
}
return true;
}
}
以上是“LeetCode如何判斷能否形成等差數列”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。