外观
🚀 判断字符串能否组成等差数列
⭐ 题目日期:
腾讯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) 的解决方案吗?