-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path1920.基于排列构建数组.go
67 lines (63 loc) · 1.61 KB
/
1920.基于排列构建数组.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/*
* @lc app=leetcode.cn id=1920 lang=golang
*
* [1920] 基于排列构建数组
*
* https://leetcode-cn.com/problems/build-array-from-permutation/description/
*
* algorithms
* Easy (87.40%)
* Likes: 29
* Dislikes: 0
* Total Accepted: 22K
* Total Submissions: 25.2K
* Testcase Example: '[0,2,1,5,3,4]'
*
* 给你一个 从 0 开始的排列 nums(下标也从 0 开始)。请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i <
* nums.length),都满足 ans[i] = nums[nums[i]] 。返回构建好的数组 ans 。
*
* 从 0 开始的排列 nums 是一个由 0 到 nums.length - 1(0 和 nums.length - 1
* 也包含在内)的不同整数组成的数组。
*
*
*
* 示例 1:
*
* 输入:nums = [0,2,1,5,3,4]
* 输出:[0,1,2,4,5,3]
* 解释:数组 ans 构建如下:
* 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]
*
* 示例 2:
*
* 输入:nums = [5,0,1,2,3,4]
* 输出:[4,5,0,1,2,3]
* 解释:数组 ans 构建如下:
* 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]
*
*
*
* 提示:
*
*
* 1 <= nums.length <= 1000
* 0 <= nums[i] < nums.length
* nums 中的元素 互不相同
*
*
*/
// @lc code=start
func buildArray(nums []int) []int {
ans := make([]int, len(nums))
for i := range nums {
ans[i] = nums[nums[i]]
}
return ans
}
// @lc code=end