1929-数组串联
给你一个长度为 n
的整数数组 nums
。请你构建一个长度为 2n
的答案数组 ans
,数组下标 从 0 开始计数 ,对于所有0 <= i < n
的 i
,满足下述所有要求:
ans[i] == nums[i]
ans[i + n] == nums[i]
具体而言,ans
由两个 nums
数组 串联 形成。
返回数组 __ans
。
示例 1:
**输入:** nums = [1,2,1]
**输出:** [1,2,1,1,2,1]
**解释:** 数组 ans 按下述方式形成:
- ans = [nums[0],nums[1],nums[2],nums[0],nums[1],nums[2]]
- ans = [1,2,1,1,2,1]
示例 2:
**输入:** nums = [1,3,2,1]
**输出:** [1,3,2,1,1,3,2,1]
**解释:** 数组 ans 按下述方式形成:
- ans = [nums[0],nums[1],nums[2],nums[3],nums[0],nums[1],nums[2],nums[3]]
- ans = [1,3,2,1,1,3,2,1]
提示:
n == nums.length
1 <= n <= 1000
1 <= nums[i] <= 1000
方法一:按要求串联
思路与算法
我们顺序遍历修改前 nums 数组的元素,并按顺序添加至 nums 数组的尾部。最终,修改后的 nums 数组即为串联形成的数组,我们返回该数组作为答案。
对于 Python 语言,我们可以直接使用 list 的 extend}() 方法实现串联操作。
代码
1 | class Solution { |
1 | class Solution: |
复杂度分析
时间复杂度:O(n),其中 n 为 nums 的长度。即为遍历与串联的时间复杂度。
空间复杂度:O(1),输出数组不计入空间复杂度。
Comments