320x100
https://leetcode.com/problems/merge-sorted-array/
정수 목록이 2개가 주어졌을 때, 0을 제외하고 두 목록을 합쳐 반환하는 문제다.
[C++]
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int count = 0;
nums1.resize(m + n);
while (m > 0 && n > 0)
{
if (nums1[m - 1] > nums2[n - 1])
{
nums1[m + n - 1] = nums1[m - 1];
--m;
}
else
{
nums1[m + n - 1] = nums2[n - 1];
--n;
}
++count;
}
copy(nums2.begin(), nums2.begin() + n, nums1.begin());
}
};
파이썬 문법 참 괴랄하네 후
[Python3]
class Solution:
def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
"""
Do not return anything, modify nums1 in-place instead.
"""
while m > 0 and n > 0:
if nums1[m-1] > nums2[n-1]:
nums1[m+n-1] = nums1[m-1]
m -= 1
else:
nums1[m+n-1] = nums2[n-1]
n -= 1
nums1[:n] = nums2[:n]
320x100
'코딩테스트 준비 > leetcode' 카테고리의 다른 글
141. Linked List Cycle (0) | 2021.08.17 |
---|---|
83. Remove Duplicates from Sorted List (0) | 2021.08.11 |
14. Longest Common Prefix (0) | 2021.08.09 |
118. Pascal's Triangle (0) | 2021.08.08 |
1. Two Sum (0) | 2021.08.07 |