Minimum Operations to Make Array Values Equal to K
You are given an integer array nums and an integer k.
An integer h is called valid if all values in the array that are strictly greater than h are identical.
You are allowed to perform the following operation on nums:
- Select an integer
hthat is valid for the current values innums. - For each index
iwherenums[i] > h, setnums[i]toh.
Return the minimum number of operations required to make every element in nums equal to k. If it is impossible to make all elements equal to k, return -1.
Example 1
Input
nums = [5,2,5,4,5], k = 2Output
2The operations can be performed in order using valid integers 4 and then 2.
Example 2
Input
nums = [2,1,2], k = 2Output
-1It is impossible to make all the values equal to 2.
Constraints
- 1 <= nums.length <= 100
- 1 <= nums[i] <= 100
- 1 <= k <= 100