adding min heap solution

This commit is contained in:
Jidong Xiao
2023-11-20 17:07:06 -05:00
parent 35571ccb83
commit 0e2e2e3904
2 changed files with 20 additions and 1 deletions

View File

@@ -123,4 +123,4 @@ organized heap data, but incur a O(n log n) cost. Why?
## 23.10 Leetcode Exercises
- [Leetcode problem 912: Sort an Array](https://leetcode.com/problems/sort-an-array/). Solution: [p912_heapsort_array.cpp](../../leetcode/p912_heapsort_array.cpp).
Solution2: [p912_heapsort_array_heapify.cpp](../../leetcode/p912_heapsort_array_heapify.cpp).
Solution 2: [p912_heapsort_array_heapify.cpp](../../leetcode/p912_heapsort_array_heapify.cpp). Solution 3 - min heap: [p912_heapsort_array_min_heap.cpp](p912_heapsort_array_min_heap.cpp).

View File

@@ -0,0 +1,19 @@
class Solution {
public:
vector<int> sortArray(vector<int>& nums) {
vector<int> result;
priority_queue<int, vector<int>, std::greater<int>> pq;
int size = nums.size();
// build the priority queue, which is now a min heap
for(int i=0;i<size;i++){
pq.push(nums[i]);
}
// pop out the smallest element size times
for(int i=0;i<size;i++){
result.push_back(pq.top());
pq.pop();
}
// now data is sorted in an ascending order
return result;
}
};