g2201_2300.s2295_replace_elements_in_an_array.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g2201_2300.s2295_replace_elements_in_an_array;
// #Medium #Array #Hash_Table #Simulation #2022_06_16_Time_89_ms_(65.26%)_Space_170.7_MB_(17.18%)
import java.util.HashMap;
/**
* 2295 - Replace Elements in an Array\.
*
* Medium
*
* You are given a **0-indexed** array `nums` that consists of `n` **distinct** positive integers. Apply `m` operations to this array, where in the ith
operation you replace the number `operations[i][0]` with `operations[i][1]`.
*
* It is guaranteed that in the ith
operation:
*
* * `operations[i][0]` **exists** in `nums`.
* * `operations[i][1]` does **not** exist in `nums`.
*
* Return _the array obtained after applying all the operations_.
*
* **Example 1:**
*
* **Input:** nums = [1,2,4,6], operations = \[\[1,3],[4,7],[6,1]]
*
* **Output:** [3,2,7,1]
*
* **Explanation:**
*
* We perform the following operations on nums:
*
* - Replace the number 1 with 3. nums becomes [**3** ,2,4,6].
*
* - Replace the number 4 with 7. nums becomes [3,2, **7** ,6].
*
* - Replace the number 6 with 1. nums becomes [3,2,7, **1** ].
*
* We return the final array [3,2,7,1].
*
* **Example 2:**
*
* **Input:** nums = [1,2], operations = \[\[1,3],[2,1],[3,2]]
*
* **Output:** [2,1]
*
* **Explanation:**
*
* We perform the following operations to nums:
*
* - Replace the number 1 with 3. nums becomes [**3** ,2].
*
* - Replace the number 2 with 1. nums becomes [3, **1** ].
*
* - Replace the number 3 with 2. nums becomes [**2** ,1].
*
* We return the array [2,1].
*
* **Constraints:**
*
* * `n == nums.length`
* * `m == operations.length`
* * 1 <= n, m <= 105
* * All the values of `nums` are **distinct**.
* * `operations[i].length == 2`
* * 1 <= nums[i], operations[i][0], operations[i][1] <= 106
* * `operations[i][0]` will exist in `nums` when applying the ith
operation.
* * `operations[i][1]` will not exist in `nums` when applying the ith
operation.
**/
public class Solution {
public int[] arrayChange(int[] nums, int[][] operations) {
HashMap map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
map.put(nums[i], i);
}
for (int[] operation : operations) {
int index = map.get(operation[0]);
nums[index] = operation[1];
map.put(operation[1], index);
}
return nums;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy