Concatenation Of Array

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:

Input: nums = [1,3,2,1] Output: [1,3,2,1,1,3,2,1] Explanation: The array ans is formed as follows:

Constraints: n == nums.length 1 <= n <= 1000 1 <= nums[i] <= 1000

Approach

  1. Create an output array ans of the length of 2*n (n : length of nums array).
  2. For each index i, set ans[i] to the element located at index nums[i] in nums.
  3. For each index i, set ans[i+n] to the element located at index nums[i] in nums.
  4. Return ans.

Complexity

Time Complexity: O(n)

Space Complexity: O(n)

Code (Java)

class Solution {
    public int[] getConcatenation(int[] nums) {
        int n=nums.length;
        int[] ans= new int[2*n];
        for(int i=0;i<n;i++){
            ans[i]=nums[i];
        }
        for(int i=0;i<n;i++){
            ans[i+n]=nums[i];
        }
        return ans;
    }
}