Skip to content

Latest commit

 

History

History

Final-Array-State-After-K-Multiplication-Operations-I

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Final Array State After K Multiplication Operations I

Can you solve this real interview question? Final Array State After K Multiplication Operations I - You are given an integer array nums, an integer k, and an integer multiplier.

You need to perform k operations on nums. In each operation:

  • Find the minimum value x in nums. If there are multiple occurrences of the minimum value, select the one that appears first.
  • Replace the selected minimum value x with x * multiplier.

Return an integer array denoting the final state of nums after performing all k operations.

 

Example 1:

Input: nums = [2,1,3,5,6], k = 5, multiplier = 2

Output: [8,4,6,5,6]

Explanation:

Operation Result After operation 1 [2, 2, 3, 5, 6] After operation 2 [4, 2, 3, 5, 6] After operation 3 [4, 4, 3, 5, 6] After operation 4 [4, 4, 6, 5, 6] After operation 5 [8, 4, 6, 5, 6]

Example 2:

Input: nums = [1,2], k = 3, multiplier = 4

Output: [16,8]

Explanation:

Operation Result After operation 1 [4, 2] After operation 2 [4, 8] After operation 3 [16, 8]

Solution

class Solution:
    def getFinalState(self, nums: List[int], k: int, multiplier: int) -> List[int]:
        heap=[(x, i) for i, x in enumerate(nums)]
        heapify(heap)
        for _ in range(k):
            x, i=heap[0]
            heapreplace(heap, (x*multiplier, i))
        for x, i in heap:
            nums[i]=x
        return nums