Welcome to Subscribe On Youtube

Formatted question description: https://leetcode.ca/all/1929.html

1929. Concatenation of Array

Level

Easy

Description

Given an integer array nums of length n, you want to create an array ans of length 2n where ans[i] == nums[i] and ans[i + n] == nums[i] for 0 <= i < n (0-indexed).

Specifically, ans is the concatenation of two nums arrays.

Return the array ans.

Example 1:

Input: nums = [1,2,1]

Output: [1,2,1,1,2,1]

Explanation: The array ans is formed as follows:

  • ans = [nums[0],nums[1],nums[2],nums[0],nums[1],nums[2]]
  • ans = [1,2,1,1,2,1]

Example 2:

Input: nums = [1,3,2,1]

Output: [1,3,2,1,1,3,2,1]

Explanation: The array ans is formed as follows:

  • 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]

Constraints:

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

Solution

Get the length of nums as n. Create an array ans of length n * 2. Then for each i from 0 to n - 1, let ans[i] = ans[i + n] = nums[i]. Finally, return ans.

  • class Solution {
        public int[] getConcatenation(int[] nums) {
            int n = nums.length;
            int[] concat = new int[n * 2];
            for (int i = 0; i < n; i++) {
                concat[i] = nums[i];
                concat[i + n] = nums[i];
            }
            return concat;
        }
    }
    
    ############
    
    class Solution {
        public int[] getConcatenation(int[] nums) {
            int n = nums.length;
            int[] ans = new int[n << 1];
            for (int i = 0; i < n << 1; ++i) {
                ans[i] = nums[i % n];
            }
            return ans;
        }
    }
    
  • // OJ: https://leetcode.com/problems/concatenation-of-array/
    // Time: O(N)
    // Space: O(1)
    class Solution {
    public:
        vector<int> getConcatenation(vector<int>& A) {
            vector<int> ans(A);
            int N = A.size();
            for (int i = 0; i < N; ++i) ans.push_back(A[i]);
            return ans;
        }
    };
    
  • class Solution:
        def getConcatenation(self, nums: List[int]) -> List[int]:
            return nums + nums
    
    ############
    
    # 1929. Concatenation of Array
    # https://leetcode.com/problems/concatenation-of-array/
    
    class Solution:
        def getConcatenation(self, nums: List[int]) -> List[int]:
            return nums + nums
    
    
  • func getConcatenation(nums []int) []int {
    	return append(nums, nums...)
    }
    
  • function getConcatenation(nums: number[]): number[] {
        return [...nums, ...nums];
    }
    
    
  • /**
     * @param {number[]} nums
     * @return {number[]}
     */
    var getConcatenation = function (nums) {
        let ans = nums.slice();
        ans.splice(nums.length, 0, ...nums);
        return ans;
    };
    
    
  • impl Solution {
        pub fn get_concatenation(nums: Vec<i32>) -> Vec<i32> {
            nums.repeat(2)
        }
    }
    
    

All Problems

All Solutions