LeetCode1929. 数组串联(C++)

Posted 敲代码两年半的练习生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode1929. 数组串联(C++)相关的知识,希望对你有一定的参考价值。

1 题目描述

  • 给你一个长度为 n 的整数数组 nums 。请你构建一个长度为 2n 的答案数组 ans ,数组下标 从 0 开始计数 ,对于所有 0 <= i < n 的 i ,满足下述所有要求:
  • ans[i] == nums[i]
  • ans[i + n] == nums[i]
  • 具体而言,ans 由两个 nums 数组 串联 形成。
  • 返回数组 ans 。

2 示例描述

2.1 示例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.2 示例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]

3 解题提示

  • n == nums.length
  • 1 <= n <= 1000
  • 1 <= nums[i] <= 1000

4 解题思路

最简单的拼接思想,将数组重新复制一遍拼接在原数组的后面。

5 代码详解

class Solution {
public:
    vector<int> getConcatenation(vector<int>& nums) {
        vector<int> ans = nums;
        nums.insert(nums.end(), ans.begin(), ans.end());
        return nums;
    }
};

以上是关于LeetCode1929. 数组串联(C++)的主要内容,如果未能解决你的问题,请参考以下文章

算法学习1929. 数组串联(java / c / c++ / python / go / rust)

算法学习1929. 数组串联(java / c / c++ / python / go / rust)

Leetcode.1191 K 次串联后最大子数组之和

leetcode 每日一题 30. 串联所有单词的子串

leetcode 每日一题 30. 串联所有单词的子串

LeetCode笔记:Weekly Contest 249(补发)