Skip to content

Commit 3d40976

Browse files
add 2044
1 parent 0bb02d1 commit 3d40976

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ _If you like this project, please leave me a star._ ★
88

99
| # | Title | Solutions | Video | Difficulty | Tag
1010
|-----|----------------|---------------|--------|-------------|-------------
11+
|2044|[Count Number of Maximum Bitwise-OR Subsets](https://leetcode.com/problems/count-number-of-maximum-bitwise-or-subsets/)|[Java](../master/src/main/java/com/fishercoder/solutions/_2044.java) ||Medium||
1112
|2043|[Simple Bank System](https://leetcode.com/problems/simple-bank-system/)|[Java](../master/src/main/java/com/fishercoder/solutions/_2043.java) ||Medium||
1213
|2042|[Check if Numbers Are Ascending in a Sentence](https://leetcode.com/problems/check-if-numbers-are-ascending-in-a-sentence/)|[Java](../master/src/main/java/com/fishercoder/solutions/_2042.java) ||Easy||
1314
|2039|[The Time When the Network Becomes Idle](https://leetcode.com/problems/the-time-when-the-network-becomes-idle/)|[Java](../master/src/main/java/com/fishercoder/solutions/_2039.java) ||Medium||
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.fishercoder.solutions;
2+
3+
import java.util.ArrayList;
4+
import java.util.Arrays;
5+
import java.util.HashMap;
6+
import java.util.List;
7+
import java.util.Map;
8+
9+
public class _2044 {
10+
public static class Solution1 {
11+
public int countMaxOrSubsets(int[] nums) {
12+
List<List<Integer>> result = new ArrayList();
13+
List<Integer> empty = new ArrayList();
14+
result.add(empty);
15+
Arrays.sort(nums);
16+
for (int i = 0; i < nums.length; i++) {
17+
List<List<Integer>> temp = new ArrayList<>();
18+
for (List<Integer> list : result) {
19+
List<Integer> newList = new ArrayList(list);
20+
newList.add(nums[i]);
21+
temp.add(newList);
22+
}
23+
result.addAll(temp);
24+
}
25+
Map<Integer, Integer> map = new HashMap<>();
26+
for (List<Integer> list : result) {
27+
if (list.isEmpty() || list.size() == 0) {
28+
continue;
29+
}
30+
int or = list.get(0);
31+
for (int i = 1; i < list.size(); i++) {
32+
or |= list.get(i);
33+
}
34+
map.put(or, map.getOrDefault(or, 0) + 1);
35+
}
36+
int max = 0;
37+
int ans = 0;
38+
for (int key : map.keySet()) {
39+
if (max < key) {
40+
max = key;
41+
ans = map.get(key);
42+
}
43+
}
44+
return ans;
45+
}
46+
}
47+
}

0 commit comments

Comments
 (0)