LeetCode1920

荼蘼糯 2022-01-14 21:55:23

给你一个 从 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)]

但有一个疑问:简化后的代码测出来空间复杂度更高了

...全文
31 回复 点赞 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
相关推荐
发帖
中国高校计算机教学社区
加入

2.9w+

社区成员

打造最热爱学习的高校社区,帮助大家提升计算机领域知识,带大家打比赛拿奖,提高自我,希望大家共同创造良好的社区氛围。
帖子事件
创建了帖子
2022-01-14 21:55
社区公告

监督大家学习,每日学习打卡,以投稿形式打卡。扫码关注公众号,可加入粉丝群和领取大量资源。