题目
LeetCode 2808.使循环数组所有元素相等的最少秒数
解释
## 题目描述
给你一个下标从 0 开始长度为 n 的数组 nums 。
每一秒,你可以对数组执行以下操作:
对于范围在 [0, n - 1] 内的每一个下标 i ,将 nums[i] 替换成 nums[i] ,nums[(i - 1 + n) % n] 或者 nums[(i + 1) % n] 三者之一。
注意,所有元素会被同时替换。
请你返回将数组 nums 中所有元素变成相等元素所需要的 最少 秒数。
## 示例
**示例 1:**
**输入:** nums = [1,2,1,2]
**输出:** 1
**解释:** 我们可以在 1 秒内将数组变成相等元素:
- 第 1 秒,将每个位置的元素分别变为 [nums[3],nums[1],nums[3],nums[3]] 。变化后,nums = [2,2,2,2] 。
1 秒是将数组变成相等元素所需要的最少秒数。
**示例 2:**
**输入:** nums = [2,1,3,3,2]
**输出:** 2
**解释:** 我们可以在 2 秒内将数组变成相等元素:
- 第 1 秒,将每个位置的元素分别变为 [nums[0],nums[2],nums[2],nums[2],nums[3]] 。变化后,nums = [2,3,3,3,3] 。
- 第 2 秒,将每个位置的元素分别变为 [nums[1],nums[1],nums[2],nums[3],nums[4]] 。变化后,nums = [3,3,3,3,3] 。
2 秒是将数组变成相等元素所需要的最少秒数。
**示例 3:**
**输入:** nums = [5,5,5,5]
**输出:** 0
**解释:** 不需要执行任何操作,因为一开始数组中的元素已经全部相等。
## 约束条件
1 <= n == nums.length <= 105
1 <= nums[i] <= 109
## LeetCode 链接
https://leetcode.cn/problems/minimum-seconds-to-equalize-a-circular-array/
答案
正在疯狂整理答案中......
