3925. Concatenate Array With Reverse
Description
You are given an integer array nums of length n.
Construct a new array ans of length 2 * n such that the first n elements are the same as nums, and the next n elements are the elements of nums in reverse order.
Formally, for 0 <= i <= n - 1:
ans[i] = nums[i]ans[i + n] = nums[n - i - 1]
Return an integer array ans.
Β
Example 1:
Input: nums = [1,2,3]
Output: [1,2,3,3,2,1]
Explanation:
The first n elements of ans are the same as nums.
For the next n = 3 elements, each element is taken from nums in reverse order:
ans[3] = nums[2] = 3ans[4] = nums[1] = 2ans[5] = nums[0] = 1
Thus, ans = [1, 2, 3, 3, 2, 1].
Example 2:
Input: nums = [1]
Output: [1,1]
Explanation:
The array remains the same when reversed. Thus, ans = [1, 1].
Β
Constraints:
1 <= nums.length <= 1001 <= nums[i] <= 100
Solutions
Solution 1: Simulation
We create an array \(\textit{ans}\) of length \(2 \times n\). The first \(n\) elements are the same as \(\textit{nums}\), and the next \(n\) elements are \(\textit{nums}\) in reverse order.
Specifically, for \(0 \leq i \leq n - 1\), we set \(\textit{ans}[i] = \textit{nums}[i]\) and \(\textit{ans}[i + n] = \textit{nums}[n - i - 1]\).
Finally, return the array \(\textit{ans}\).
The time complexity is \(O(n)\), and the space complexity is \(O(n)\), where \(n\) is the length of the array \(\textit{nums}\).
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 9 10 11 12 | |
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 8 9 | |