From fd8719bad5eb15cb0cdd4304c7fb3b9762183989 Mon Sep 17 00:00:00 2001 From: Jidong Xiao Date: Sun, 8 Oct 2023 23:44:51 -0400 Subject: [PATCH] adding merge sort array code --- lectures/12_advanced_recursion/README.md | 2 +- leetcode/p912_sortarray.cpp | 63 ++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 leetcode/p912_sortarray.cpp diff --git a/lectures/12_advanced_recursion/README.md b/lectures/12_advanced_recursion/README.md index c8f19e5..729659a 100644 --- a/lectures/12_advanced_recursion/README.md +++ b/lectures/12_advanced_recursion/README.md @@ -96,7 +96,7 @@ Count the number of pairwise comparisons that are required. ## 12.6 Merge Sort Exercises -- [Leetcode problem 912: Sort an Array](https://leetcode.com/problems/sort-an-array/). Solution: [p1472_browserhistory.cpp](../../leetcode/p1472_browserhistory.cpp) +- [Leetcode problem 912: Sort an Array](https://leetcode.com/problems/sort-an-array/). Solution: [p912_sortarray.cpp](../../leetcode/p912_sortarray.cpp) - [Leetcode problem 148: Sort List](https://leetcode.com/problems/sort-list/). Solution: [p148_sortlist.cpp](../../leetcode/p148_sortlist.cpp) ## 12.7 Example: Word Search diff --git a/leetcode/p912_sortarray.cpp b/leetcode/p912_sortarray.cpp new file mode 100644 index 0000000..3c03160 --- /dev/null +++ b/leetcode/p912_sortarray.cpp @@ -0,0 +1,63 @@ +class Solution { +public: + vector mergeArrays(vector& v1, vector& v2){ + int size1 = v1.size(); + int size2 = v2.size(); + vector v(size1+size2, 0); + int index1 = 0; + int index2 = 0; + int index = 0; + // scan and compare, whoever is smaller goes to v. + while(index1=size1){ + while(index2 sortArray(vector& nums) { + int size = nums.size(); + // base case + if(size==1){ + return nums; + } + // general case + // split evenly or not evenly does not matter that much in this case + int mid = size/2; + vector nums1(mid, 0); + vector nums2(size-mid, 0); + for(int i=0;i