class Solution {
public:
vector<int> getConcatenation(vector<int>& nums) {
}
};
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
原站题解
rust 解法, 执行用时: 4 ms, 内存消耗: 2 MB, 提交时间: 2023-09-12 16:01:18
impl Solution { pub fn get_concatenation(nums: Vec<i32>) -> Vec<i32> { nums[0..].repeat(2) /* nums.extend_from_within(0..); nums */ /* let mut r1 = nums.clone(); let mut r2 = nums.clone(); r1.append(&mut r2); r1 */ } }
java 解法, 执行用时: 0 ms, 内存消耗: 43 MB, 提交时间: 2023-09-12 15:59:19
class Solution { public int[] getConcatenation(int[] nums) { int length = nums.length; int[] ans = new int[length << 1]; for (int i = 0; i < length; i++) { ans[i + length]= ans[i] = nums[i]; } return ans; } }
java 解法, 执行用时: 0 ms, 内存消耗: 43.1 MB, 提交时间: 2023-09-12 15:58:54
class Solution { public int[] getConcatenation(int[] nums) { nums = Arrays.copyOf(nums, nums.length * 2); System.arraycopy(nums, 0, nums, nums.length / 2, nums.length / 2); return nums; } }
cpp 解法, 执行用时: 0 ms, 内存消耗: 12.5 MB, 提交时间: 2023-09-12 15:58:10
class Solution { public: vector<int> getConcatenation(vector<int>& nums) { int n = nums.size(); for (int i = 0; i < n; ++i){ nums.push_back(nums[i]); } return nums; } };
python3 解法, 执行用时: 52 ms, 内存消耗: 16.1 MB, 提交时间: 2023-09-12 15:57:20
class Solution: def getConcatenation(self, nums: List[int]) -> List[int]: nums.extend(nums) return nums
php 解法, 执行用时: 36 ms, 内存消耗: 18.9 MB, 提交时间: 2023-09-12 15:56:21
class Solution { /** * @param Integer[] $nums * @return Integer[] */ function getConcatenation($nums) { return array_merge($nums, $nums); } }
golang 解法, 执行用时: 8 ms, 内存消耗: 6.2 MB, 提交时间: 2021-07-12 09:58:58
func getConcatenation(nums []int) []int { return append(nums, nums...) }