Skip to content

🚀 判断字符串能否组成等差数列

约 322 字大约 1 分钟

字符串中等拼多多

2025-04-24

⭐ 题目日期:

腾讯2025/4/15

🌳 题目描述:

给你一个字符串 s,请你判断该字符串中的字符经过重新排列后,是否能形成一个等差数列。

等差数列是指序列中任意相邻两项的差值都相等的一个序列。

在本题中,我们使用字符的 ASCII 值来判断是否能组成等差数列。

示例

示例 1:

输入: s = "abcd"
输出: true
解释: 字符 'a', 'b', 'c', 'd' 的 ASCII 值分别为 97, 98, 99, 100,形成了公差为 1 的等差数列。

示例 2:

输入: s = "bage"
输出: true
解释: 重新排列后可得到 "abeg",对应的 ASCII 值为 97, 98, 101, 103,形成了公差为 2 的等差数列。

示例 3:

输入: s = "xyzx"
输出: false
解释: 由于存在重复字符 'x',无法形成等差数列。

示例 4:

输入: s = "aabcd"
输出: false
解释: 字符串中有重复字符 'a',且字符数量不同,无法形成等差数列。

提示

  • 1 <= s.length <= 10^4
  • s 仅由小写英文字母组成

进阶

你能设计一个时间复杂度为 O(n) 的解决方案吗?