30,336
社区成员
发帖
与我相关
我的任务
分享
给你一个 从 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 也包含在内)的不同整数组成的数组。
class Solution:
def buildArray(self, nums: List[int]) -> List[int]:
ans = []
n = len(nums)
for i in range(n):
ans.append(nums[nums[i]])
return ans
简化:
class Solution:
def buildArray(self, nums: List[int]) -> List[int]:
n = len(nums)
return [nums[nums[i]] for i in range(n)]
但有一个疑问:简化后的代码测出来空间复杂度更高了