题目

给你一个 从 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 中的元素 互不相同
来源:力扣(LeetCode)

解题思路

  这是一道非常简单的直接翻译题,只需要按照题目的要求创建数组即可。

class Solution:def buildArray(self, nums: List[int]) -> List[int]:return [nums[i] for i in nums]

LeetCode简单题之基于排列构建数组相关推荐

  1. LeetCode简单题之按照频率将数组升序排序

    题目 给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序.如果有多个值的频率相同,请你按照数值本身将它们 降序 排序. 请你返回排序后的数组. 示例 1: 输入:nums = [1, ...

  2. LeetCode简单题之重新排列数组

    题目 给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,-,xn,y1,y2,-,yn] 的格式排列. 请你将数组按 [x1,y1,x2,y2,-,xn,yn] 格式重新排列,返回重 ...

  3. LeetCode简单题之区域和检索 - 数组不可变

    题目 给定一个整数数组 nums,处理以下类型的多个查询: 计算索引 left 和 right (包含 left 和 right)之间的 nums 元素的 和 ,其中 left <= right ...

  4. LeetCode简单题之按奇偶排序数组

    题目 给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素. 你可以返回满足此条件的任何数组作为答案. 示例: 输入:[3,1,2,4] 输出:[2,4,3,1 ...

  5. LeetCode简单题之找出两数组的不同

    题目 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中: answer[0] 是 nums1 中所有 不 存在于 nums2 中的 ...

  6. LeetCode简单题之最少操作使数组递增

    题目 给你一个整数数组 nums (下标从 0 开始).每一次操作中,你可以选择数组中一个元素,并将它增加 1 . 比方说,如果 nums = [1,2,3] ,你可以选择增加 nums[1] 得到 ...

  7. LeetCode简单题之按奇偶排序数组 II

    题目 给定一个非负整数数组 nums, nums 中一半整数是 奇数 ,一半整数是 偶数 . 对数组进行排序,以便当 nums[i] 为奇数时,i 也是 奇数 :当 nums[i] 为偶数时, i 也 ...

  8. LeetCode高频题33. 搜索旋转排序数组

    LeetCode高频题33. 搜索旋转排序数组 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目 互联网大厂们在公司养了一大批A ...

  9. Leetcode算法题:两个有序数组求中位数

    Leetcode算法题:两个有序数组求中位数 要求时间复杂度为O(log(m+n)) 思路: 暴力解决:合并数组并排序,简单且一定能实现,时间复杂度O(m+n) 由于两个数组已经排好序,可一边排序一边 ...

最新文章

  1. 你在数据预处理上花费的时间,是否比机器学习还要多?
  2. Android onTouchEvent, onClick及onLongClick的调用机制
  3. xUtils网络超时设置configCurrentHttpCacheExpiry和SoTimeout和connectionTimeout的区别
  4. 操作系统之常考面试题
  5. java 打包下载文件_java下载打包下载文件
  6. DO、DTO、BO、AO、VO、POJO定义
  7. springboot springmvc mybatis_12道重点的Spring Boot面试题,帮你整理好了!
  8. 数学从根本上:玩的是概念!而不是技巧
  9. Scrapy 爬虫框架五—— 常见的反爬虫技术
  10. JS身份证合法性校验完全版
  11. linux备份文件命令tar.gz,Linux系统tar命令备份数据
  12. ubuntu display
  13. 1431. 拥有最多糖果的孩子
  14. appenders_Log4j Appenders教程
  15. prolog 从list中取出一个_二、redis中Hash、Set、SortedSet应用场景
  16. struts2框架入门(基于maven)
  17. popupwindow拦截点击物理返回键
  18. 哈工大计算机网络第一章——计算机网络概述复习
  19. windows 10 ISO 纯净版 官方来源
  20. 福布斯:区块链科技从边缘到主流的…

热门文章

  1. 2022-2028年中国塑料绳的制造行业市场现状调查及投资商机预测报告
  2. HA: SHERLOCK 靶机渗透取证
  3. OpenCL™(开放计算语言)概述
  4. 图像合成与风格转换实战
  5. Keras神经网络集成技术
  6. 电脑识别指令和代码的原理
  7. NVIDIA Tensor Cores解析
  8. Java 构造方法与成员方法的区别
  9. java.lang.ClasNotFoundException:Didnt findclass on path:DexPathList[[zip file
  10. Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to