LeetCode刷题1502-简单-判断能否形成等差数列
Posted 布小禅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode刷题1502-简单-判断能否形成等差数列相关的知识,希望对你有一定的参考价值。
☀️ 前言 ☀️
算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!
🙀 作者简介 🙀
大家好,我是布小禅,一个尽力让无情的代码变得生动有趣的IT小白,很高兴能偶认识你,关注我,每天坚持学点东西,我们以后就是大佬啦!
📢 博客主页:❤布小禅❤
📢 作者专栏:
❤Python❤
❤Java❤这是我刷第 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
💁 二、题目解析 💁
思 路 : \\color{yellow}{思路:} 思路:
先排序
找个变量接收前两个元素的差
遍历数组
将前后元素的差进行比较,不相等返回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
}
}
🌔 结语 🌔
坚持最重要,每日一题必不可少!😸
期待你的关注和督促!😛
以上是关于LeetCode刷题1502-简单-判断能否形成等差数列的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode:1502. 判断能否形成等差数列(python3,javascript)