Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- FastAPI
- 자바스크립트
- ebs
- 쿠버네티스
- K8S
- intervals
- elasticsearch
- github
- ansible
- POD
- docker
- Service
- WSGI
- EKS
- leetcode
- Deployment
- event loop
- IAC
- dockerfile
- AWS
- asgi
- IAM
- Python
- kernel
- EC2
- Kubernetes
- terraform
- YAML
- Django
- asyncio
Archives
- Today
- Total
궁금한게 많은 개발자 노트
[ leetcode ] 23. Merge k Sorted Lists 본문
오름 차순으로 연결된 k개의 linked list를 하나의 오름 차순으로 연결된 linked list로 합쳐서 반환하는 문제입니다.
min heap을 구현하여 node들을 heap에 모두 넣고, 하나씩 빼서 모두를 연결하여 반환하였습니다.
queue library를 import하고, struct compare의 operator함수를 overriding하여 min heap을 선언하려 합니다.
struct compare {
bool operator()(const ListNode* a, const ListNode* b) {
return a->val > b->val;
}
};
k개의 linked list를 모두 heap에 넣고, 하나씩 빼면서 prev node와 방금 뺀 node를 연결해주는 방식으로 구현하였습니다.
#include <queue>
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* mergeKLists(vector<ListNode*>& lists) {
priority_queue<ListNode*, vector<ListNode*>, compare> pq;
for (int i = 0; i < lists.size(); i++) {
ListNode* head = lists[i];
while (head != NULL) {
pq.push(head);
head = head->next;
}
}
ListNode* answer = NULL;
ListNode* head = NULL;
while (!pq.empty()) {
ListNode* temp = pq.top();
if (!head) {
head = temp;
answer = head;
}
else {
temp->next = NULL;
head->next = temp;
head = temp;
}
pq.pop();
}
return answer;
}
};
'Algorithm' 카테고리의 다른 글
[ leetcode ] 209. Minimum Size Subarray Sum (0) | 2023.07.07 |
---|---|
[ leetcode ] 1493. Longest Subarray of 1's After Deleting One Element (0) | 2023.07.07 |
[ leetcode ] 3. Longest Substring Without Repeating Characters (0) | 2023.07.07 |
[ leetcode ] 21. Merge Two Sorted Lists (0) | 2023.07.07 |
[ leetcode ] 104. Maximum Depth of Binary Tree (0) | 2023.07.07 |
Comments