LC 1929.Concatenation of Array

题目描述

这是 LeetCode 上的 1929. 数组串联 ,难度为简单

给你一个长度为 n 的整数数组 nums 。请你构建一个长度为 2n 的答案数组 ans ,数组下标 从 0 开始计数 ,对于所有 0 <= i < ni ,满足下述所有要求:

  • ans[i] == nums[i]
  • ans[i + n] == nums[i]

具体而言,ans 由两个 nums 数组 串联 形成。

返回数组 ans

示例 1:

1
2
3
4
5
输入: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:

1
2
3
4
5
输入: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

解答

方法一:模拟

根据题目要求遍历一遍数组即可。

1
2
3
4
5
6
7
8
9
10
class Solution {
public int[] getConcatenation(int[] nums) {
int[] res = new int[nums.length * 2];
for (int i = 0; i < nums.length; ++i) {
res[i] = nums[i];
res[i + nums.length] = nums[i];
}
return res;
}
}
  • 时间复杂度\(O(n)\),其中 n 为数组 nums 的长度。

  • 空间复杂度\(O(n)\),其中 n 为数组 nums 的长度。

每题一图


LC 1929.Concatenation of Array
https://chen-huaneng.github.io/2023/12/07/2023-12-7-2023-12-07-lc-1929/
作者
Abel
发布于
2023年12月7日
更新于
2023年12月7日
许可协议