File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import java .util .*;
2+
3+ class Solution {
4+ public int solution (int [] scoville , int K ) {
5+ int answer = -1 ;
6+ int idx = 0 ;
7+ int s1 = 0 , s2 = 0 ;
8+ int temp ;
9+
10+ PriorityQueue <Integer > q = new PriorityQueue <Integer >(scoville .length );
11+
12+ for (int e : scoville ) {
13+ q .offer (e );
14+ }
15+
16+ while (q .size () > 1 ) {
17+ if (q .peek () >= K ) {
18+ answer = idx ;
19+ break ;
20+ }
21+
22+ s1 = q .poll ();
23+ s2 = q .poll ();
24+ temp = s1 + (s2 * 2 );
25+ q .offer (temp );
26+ idx ++;
27+ }
28+
29+ if (q .poll () >= K ) {
30+ answer = idx ;
31+ }
32+
33+ return answer ;
34+ }
35+ }
Original file line number Diff line number Diff line change 1+ class Solution {
2+ public int [] topKFrequent (int [] nums , int k ) {
3+ HashMap <Integer , Integer > m = new HashMap <Integer , Integer >(nums .length );
4+
5+ for (int num : nums ) {
6+ m .put (num , m .getOrDefault (num , 0 ) + 1 );
7+ }
8+
9+ List <Integer > list = m .entrySet ().stream ()
10+ .sorted (Collections .reverseOrder (Map .Entry .comparingByValue ()))
11+ .map (Map .Entry ::getKey ).collect (Collectors .toList ());
12+
13+ int [] result = new int [k ];
14+
15+ for (int i = 0 ; i < k ; i ++) {
16+ result [i ] = list .get (i );
17+ }
18+
19+ return result ;
20+ }
21+ }
Original file line number Diff line number Diff line change 1+ # Heap
2+ ---
3+
4+ - ** 완전 이진 트리 일종** 우선 순위 큐를 위하여 만들어진 자료구조
5+ - 여러 개의 값들 중 최댓 값 or 최솟 값을 빠르게 찾아 내기 위한 자료구조
6+ - ** 반 정렬 상태(느슨한 정렬 상태)**
7+
8+ ## Heap 종류
9+ ---
10+
11+ - 최대 힙
12+ - 부모 노드 >= 자식 노드
13+ - Java에서 PriorityQueue<E >();
14+ - 최소 힙
15+ - 부모 노드 <= 자식 노드
16+ - Java에서 PriorityQueue<Integer >(Collections.reverseOrder());
17+
18+ -> 자바에서 우선순위 큐를 이용하면 쉽게 구현 할 수 있다.
Original file line number Diff line number Diff line change 3434 - leetcode 21
3535 - leetcode 148
3636
37- # 4주차 자료구조와 알고리즘
37+ # 5주차 자료구조와 알고리즘
38+ ---
39+
40+ - [ 힙] ( ./Heap )
41+ - leetcode 347
42+ - Programmers 더 맵게
43+
44+ # 6주차 자료구조와 알고리즘
3845---
3946
4047- [ 트리] ( ./Tree )
4148 - leetcode 104
42- - leetcode 203
49+ - leetcode 230
4350 - leetcode 617
You can’t perform that action at this time.
0 commit comments