Understand Final Array State After K Multiplication Operations I Problem

Problem Name: Final Array State After K Multiplication Operations I
Problem Description:

3264. Final Array State After K Multiplication Operations I

Difficulty: Easy
Topics: Arrays


Problem Description

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:

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

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


Examples

Example 1

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

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

Explanation:

OperationResult
After 1[2, 2, 3, 5, 6]
After 2[4, 2, 3, 5, 6]
After 3[4, 4, 3, 5, 6]
After 4[4, 4, 6, 5, 6]
After 5[8, 4, 6, 5, 6]

Example 2

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

Output:
[16,8]

Explanation:

OperationResult
After 1[4, 2]
After 2[4, 8]
After 3[16, 8]

Constraints

1nums.length1001 \leq \text{nums.length} \leq 100 1nums[i]1001 \leq \text{nums}[i] \leq 100 1k101 \leq k \leq 10 1multiplier51 \leq \text{multiplier} \leq 5
Category:
  • Arrays
Programming Language:
  • Java
Reference Link:

https://leetcode.com/problems/final-array-state-after-k-multiplication-operations-i/?envType=daily-question&envId=2024-12-15

Online IDE

Scroll down for output
Java
Output:

Loading component...

Loading component...

Tracking code (View only. In case you want to track the code, click this button):
Main Function:

Main Function is not defined.

Helper Function:

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

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

public static int[] getFinalState(int[] nums , int k, int multiplier) {

int[] arr = new int[2];

for (int i = 0; i < k; i++) {

arr = getMin(nums);

nums[ arr[1] ] = arr[0] * multiplier;

}

return nums;

}//function end

Utility Functions and Global variables:

private static int[] getMin( int[] nums) {

int min = Integer.MAX_VALUE;

int idx = 0;

for(int i =0; i < nums.length; i++){

if(nums[i] < min){

min = nums[1];

idx = i;

}

}

return new int[] { min , idx };

} //Function End