g1901_2000.s1920_build_array_from_permutation.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 g1901_2000.s1920_build_array_from_permutation;
// #Easy #Array #Simulation #2022_05_14_Time_1_ms_(94.23%)_Space_54.1_MB_(13.18%)
/**
* 1920 - Build Array from Permutation\.
*
* Easy
*
* Given a **zero-based permutation** `nums` ( **0-indexed** ), build an array `ans` of the **same length** where `ans[i] = nums[nums[i]]` for each `0 <= i < nums.length` and return it.
*
* A **zero-based permutation** `nums` is an array of **distinct** integers from `0` to `nums.length - 1` ( **inclusive** ).
*
* **Example 1:**
*
* **Input:** nums = \[0,2,1,5,3,4]
*
* **Output:** \[0,1,2,4,5,3]
*
* **Explanation:** The array ans is built as follows:
*
* ans = [nums[nums\[0]], nums[nums\[1]], nums[nums\[2]], nums[nums\[3]], nums[nums\[4]], nums[nums\[5]]]
* = [nums\[0], nums\[2], nums\[1], nums\[5], nums\[3], nums\[4]]
* = \[0,1,2,4,5,3]
*
* **Example 2:**
*
* **Input:** nums = \[5,0,1,2,3,4]
*
* **Output:** \[4,5,0,1,2,3]
*
* **Explanation:** The array ans is built as follows:
*
* ans = [nums[nums\[0]], nums[nums\[1]], nums[nums\[2]], nums[nums\[3]], nums[nums\[4]], nums[nums\[5]]]
* = [nums\[5], nums\[0], nums\[1], nums\[2], nums\[3], nums\[4]]
* = \[4,5,0,1,2,3]
*
* **Constraints:**
*
* * `1 <= nums.length <= 1000`
* * `0 <= nums[i] < nums.length`
* * The elements in `nums` are **distinct**.
*
* **Follow-up:** Can you solve it without using an extra space (i.e., `O(1)` memory)?
**/
public class Solution {
public int[] buildArray(int[] nums) {
int[] ans = new int[nums.length];
for (int i = 0; i < nums.length; i++) {
ans[i] = nums[nums[i]];
}
return ans;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy