반응형
1929. Concatenation of Array
Given an integer array
nums
of lengthn
, you want to create an arrayans
of length2n
whereans[i] == nums[i]
andans[i + n] == nums[i]
for0 <= i < n
(0-indexed).
Specifically,ans
is the concatenation of twonums
arrays.
Return the arrayans
.
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
Code
class Solution {
func getConcatenation(_ nums: [Int]) -> [Int] {
var array = nums
return array + array
}
}
Refactor Code
enum error: Error {
case invalidLength
case invalidElement
}
class Solution {
func getConcatenation(_ nums: [Int]) throws -> [Int] {
let n = nums.count
guard n >= 1 && n <= 1000 else {
throw error.invalidLength
}
guard nums.allSatisfy({$0 >= 1 && $0 <= 1000}) else {
throw error.invalidElement
}
let array = nums
return array + array
}
}
var test = Solution()
var nums = [1,3,2,1]
do {
let result = try test.getConcatenation(nums)
print(result)
} catch {
print(error)
}
공부하는 공돌이, 공공돌입니다🐻
@sheep1sik
반응형
'Algorithm > LeetCode' 카테고리의 다른 글
26. Remove Duplicates from Sorted Array (0) | 2024.02.02 |
---|---|
1. Two Sum (1) | 2024.01.11 |