中等
给你一个 正 整数数组 nums。
对于一个正整数 k,定义 nonPositive(nums, k) 为使 nums 的每个元素都变为 非正数 所需的 最小 操作 次数。在一次操作中,你可以选择一个下标 i 并将 nums[i] 减少 k。
返回一个整数,表示满足 nonPositive(nums, k) <= k2 的 k 的 最小 值。
示例 1:
输入: nums = [3,7,5]
输出: 3
解释:
当 k = 3 时,nonPositive(nums, k) = 6 <= k2。
- 减少
nums[0] = 3一次。nums[0]变为3 - 3 = 0。 - 减少
nums[1] = 7三次。nums[1]变为7 - 3 - 3 - 3 = -2。 - 减少
nums[2] = 5两次。nums[2]变为5 - 3 - 3 = -1。
示例 2:
输入: nums = [1]
输出: 1
解释:
当 k = 1 时,nonPositive(nums, k) = 1 <= k2。
- 减少
nums[0] = 1一次。nums[0]变为1 - 1 = 0。
提示:
1 <= nums.length <= 1051 <= nums[i] <= 105