Skip to content

Commit 735c827

Browse files
add 1090
1 parent 5235fda commit 735c827

File tree

3 files changed

+36
-1
lines changed

3 files changed

+36
-1
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -420,4 +420,5 @@ LeetCode
420420
|1085|[Sum of Digits in the Minimum Number](https://leetcode.com/contest/biweekly-contest-2/problems/sum-of-digits-in-the-minimum-number/) | c | [c++](./src/1085-Sum-of-Digits-in-the-Minimum-Number/1085.cpp) |[python](./src/1085-Sum-of-Digits-in-the-Minimum-Number/1085.py)|||Easy|
421421
|1086|[High Five](https://leetcode.com/contest/biweekly-contest-2/problems/high-five/) | c | [c++](./src/1086-High-Five/1086.cpp) |[python](./src/1086-High-Five/1086.py)|||Easy|
422422
|1087|[Brace Expansion](https://leetcode.com/contest/biweekly-contest-2/problems/brace-expansion/) | c | [c++](./src/1087-Brace-Expansion/1087.cpp) |[python](./src/1087-Brace-Expansion/1087.py)|||Medium|
423-
|1089|[Duplicate Zeros](https://leetcode.com/problems/duplicate-zeros/) | c | [c++](./src/1089-Duplicate-Zeros/1089.cpp) |[python](./src/1089-Duplicate-Zeros/1089.py)|||Easy|
423+
|1089|[Duplicate Zeros](https://leetcode.com/problems/duplicate-zeros/) | c | [c++](./src/1089-Duplicate-Zeros/1089.cpp) |[python](./src/1089-Duplicate-Zeros/1089.py)|||Easy|
424+
|1090|[Largest Values From Labels](https://leetcode.com/problems/largest-values-from-labels/) | c | [c++](./src/1090-Largest-Values-From-Labels/1090.cpp) |[python](./src/1090-Largest-Values-From-Labels/1090.py)|||Medium|
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class Solution
2+
{
3+
public:
4+
int largestValsFromLabels(vector<int>& values, vector<int>& labels, int num_wanted, int use_limit)
5+
{
6+
int n = values.size(), res = 0, counts[20001] = {0};
7+
vector<pair<int, int>> items;
8+
for (int i = 0; i < n; i++) items.push_back({values[i], labels[i]});
9+
sort(items.rbegin(), items.rend());
10+
for (int i = 0; i < n and num_wanted > 0; i++)
11+
{
12+
if (counts[items[i].second] < use_limit)
13+
res += items[i].first, counts[items[i].second]++, num_wanted--;
14+
}
15+
return res;
16+
}
17+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from collections import defaultdict
2+
class Solution:
3+
def largestValsFromLabels(self, values: List[int], labels: List[int], num_wanted: int, use_limit: int) -> int:
4+
n, data = len(values), list()
5+
for i in range(n):
6+
data.append([values[i], labels[i]])
7+
data.sort(reverse=True)
8+
9+
cnts, res = defaultdict(int), 0
10+
for i in range(n):
11+
if num_wanted == 0:
12+
break
13+
if cnts[data[i][1]] < use_limit:
14+
res += data[i][0]
15+
cnts[data[i][1]] += 1
16+
num_wanted -= 1
17+
return res

0 commit comments

Comments
 (0)