c++ in-place merge sort O(n) 간단한 구현
{ 1,3,5,8,0,0,0,0 } 같은 배열이 있을 때 { 1,2,3,4 } > 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 #include #include void merge_sort(std::vector& nums1, int m, std::vector& nums2, int n) { int idx0 = m - 1; int idx1 = (int)nums2.size() - 1; int idx2 = n - 1; if (idx2 = 0)) { if (nums1[..
c++ leet code medium Color sort problem
color sort는 std::vector nums = {1,0,0,1,1,2,0,1,2,2,0,1,2,0,1}; 과 같은 배열을 {0,0,0,0,0,1,1,1,1,1,1,2,2,2,2}와 같이 분할한다. O(n)이 복잡도로 한번 풀어본다. 코드 >> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #include #include void color_sort(std::vector& nums) { int idx0 = 0; int idx1 = 0; int idx2 = (int)nums.size()-1;..
c++ 코딩테스트 array에서 0을 뒤로 보내기(Move zeros)
문제 {1,3,0,0,0,4,0,5}를 {1,3,4,5,0,0,0,0}으로 변환하라 코드 >> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 #include #include #include #include // 0 움직이기 // [1,3,4,0,0,4,0,5] void swap(int& a, int& b) { int tmp = a; a = b; b = tmp; } // Swap void moveZeroes(std::vector& nums) { int zIdx ..