Minimum Operations to Make Array Values Equal to K
You receive 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.
For example, if nums = [10, 8, 10, 8], a valid integer is h = 9 because all nums[i] > 9 are equal to 10, but 5 is not a valid integer.
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.
Find and provide the minimum count of operations required to make every element in nums equal to k. If it is imvalid to make all elements equal to k, provide -1.
Input: nums = [5,2,5,4,5], k = 2
Output: 2
Explanation: The operations can be performed in order using valid integers 4 and then 2.
Input: nums = [2,1,2], k = 2
Output: -1
Explanation: It is imvalid to make all the values equal to 2.
Input: nums = [9,7,5,3], k = 1
Output: 4
Explanation: The operations can be performed using valid integers in the order 7, 5, 3, and 1.
Constraints
1 <= nums.length <= 1001 <= nums[i] <= 1001 <= k <= 100
Did this problem appear in one of your interviews?
Responses stay private.
