LeetCode刷题1502-简单-判断能否形成等差数列
【摘要】 算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!
@[toc]
☀️ 前言 ☀️
算法作为极其重要的一点,是大学生毕业找工作的核心竞争力,所以为了不落后与人,开始刷力扣算法题!
🙀 作者简介 🙀
大家好,我是布小禅,一个尽力让无情的代码变得生动有趣的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
💁 二、题目解析 💁
先排序
找个变量接收前两个元素的差
遍历数组
将前后元素的差进行比较,不相等返回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
}
}
🌔 结语 🌔
坚持最重要,每日一题必不可少!:smile_cat:
期待你的关注和督促!:stuck_out_tongue:
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)