adding min heap solution
This commit is contained in:
@@ -123,4 +123,4 @@ organized heap data, but incur a O(n log n) cost. Why?
|
|||||||
## 23.10 Leetcode Exercises
|
## 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).
|
- [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).
|
||||||
|
|||||||
19
leetcode/p912_heapsort_array_min_heap.cpp
Normal file
19
leetcode/p912_heapsort_array_min_heap.cpp
Normal 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;
|
||||||
|
}
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user