给你一个长度为 n 的整数数组 nums。
在一次操作中,可以选择任意子数组 nums[l...r] (0 <= l <= r < n),并将该子数组中的每个元素 替换 为所有元素的 按位与(bitwise AND)结果。
返回使数组 nums 中所有元素相等所需的最小操作次数。
子数组 是数组中连续的、非空的元素序列。
示例 1:
输入: nums = [1,2]
输出: 1
解释:
选择 nums[0...1]:(1 AND 2) = 0,因此数组变为 [0, 0],所有元素在一次操作后相等。
示例 2:
输入: nums = [5,5,5]
输出: 0
解释:
nums 本身是 [5, 5, 5],所有元素已经相等,因此不需要任何操作。
提示:
1 <= n == nums.length <= 1001 <= nums[i] <= 105