文章目录
☀️ 前言 ☀️
算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!
🙀 作者简介 🙀
大家好,我是布小禅,一个尽力让无情的代码变得生动有趣的IT小白,很高兴能偶认识你,关注我,每天坚持学点东西,我们以后就是大佬啦!
📢 :❤布小禅❤
📢 作者专栏:
这是我刷第 30/100 道力扣简单题
💗 一、题目描述 💗
给你一个数字数组 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
💁 二、题目解析 💁
思路:
先排序
找个变量接收前两个元素的差
遍历数组
将前后元素的差进行比较,不相等返回false
遍历能完成,返回true
🏃 三、代码 🏃
☁️ 1️⃣. python ☁️
class Solution: def canMakeArithmeticProgression(self, arr: List[int]) -> bool: arr.sort() # 排序 a = len(arr) # 数组长度 bad = arr[1] - arr[0] # 等差的差 for i in range(a-1): # 遍历 if arr[i+1] - arr[i] != bad: return False # 判断 return True
❄️ 2️⃣. C# ❄️
public class Solution { public bool CanMakeArithmeticProgression(int[] arr) { int le = arr.Length; Array.Sort(arr); // 先排序 int bad = arr[1]-arr[0]; // 找个变量接收前两个元素的差 for(int i=0;i<le-1;i++){ // 遍历数组 if (arr[i+1]-arr[i] != bad) return false; // 将前后元素的差进行比较 } return true; // 遍历能完成,返回true } }
🌔 结语 🌔
坚持最重要,每日一题必不可少!😸
期待你的关注和督促!😛