비내림차순 으로 정렬된 두 개의 정수 배열 및 와 및 nums1각각 의 요소 수를 나타내는 두 개의 정수 및 가 제공됩니다 .nums2mnnums1nums2
내림차순 으로 정렬된 단일 배열로 nums1및 병합합니다 .nums2
최종 정렬된 배열은 함수에 의해 반환되지 않고 대신 배열 내부에 저장nums1 되어야 합니다 . 이를 수용하기 위해 nums1의 길이는 입니다 m + n. 여기서 첫 번째 m요소는 병합해야 하는 요소를 나타내고 마지막 n요소는 로 설정되어 0무시되어야 합니다. nums2의 길이를 가집니다
int A = m -1;
int B = n -1;
int C = m + n - 1;
while(A>=0 && B>= 0){
if(nums1[A] > nums2[B]){
nums1[C] = nums1[A];
A--;
}else{
nums1[C] = nums2[B];
B--;
}
C--;
}
while (B >= 0) {
nums1[C] = nums2[B];
B--;
C--;
}
A랑 B중 둘중 하나가 0이 될때 까지 실행한다. nums1[A] 랑 num2[B] 배열을 비교해서 안에있는 값을 찾아서 num1 배열에 저장한다. 만약 num2 배열에 배열에 값이 남아있으면 num1에 붙여넣는다.