Skip to content

Commit 62fc0d2

Browse files
authored
feat: add solutions to lc problems (doocs#1140)
* No.2600.K Items With the Maximum Sum * No.2720.Popularity Percentage * No.2738.Count Occurrences in Text
1 parent 07fc1b2 commit 62fc0d2

File tree

14 files changed

+169
-88
lines changed

14 files changed

+169
-88
lines changed

solution/2600-2699/2600.K Items With the Maximum Sum/README.md

+26-20
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,9 @@ class Solution:
7575
) -> int:
7676
if numOnes >= k:
7777
return k
78-
k -= numOnes
79-
if numZeros >= k:
78+
if numZeros >= k - numOnes:
8079
return numOnes
81-
k -= numZeros
82-
return numOnes - k
80+
return numOnes - (k - numOnes - numZeros)
8381
```
8482

8583
### **Java**
@@ -92,12 +90,10 @@ class Solution {
9290
if (numOnes >= k) {
9391
return k;
9492
}
95-
k -= numOnes;
96-
if (numZeros >= k) {
93+
if (numZeros >= k - numOnes) {
9794
return numOnes;
9895
}
99-
k -= numZeros;
100-
return numOnes - k;
96+
return numOnes - (k - numOnes - numZeros);
10197
}
10298
}
10399
```
@@ -111,12 +107,10 @@ public:
111107
if (numOnes >= k) {
112108
return k;
113109
}
114-
k -= numOnes;
115-
if (numZeros >= k) {
110+
if (numZeros >= k - numOnes) {
116111
return numOnes;
117112
}
118-
k -= numZeros;
119-
return numOnes - k;
113+
return numOnes - (k - numOnes - numZeros);
120114
}
121115
};
122116
```
@@ -128,12 +122,10 @@ func kItemsWithMaximumSum(numOnes int, numZeros int, numNegOnes int, k int) int
128122
if numOnes >= k {
129123
return k
130124
}
131-
k -= numOnes
132-
if numZeros >= k {
125+
if numZeros >= k-numOnes {
133126
return numOnes
134127
}
135-
k -= numZeros
136-
return numOnes - k
128+
return numOnes - (k - numOnes - numZeros)
137129
}
138130
```
139131

@@ -149,12 +141,26 @@ function kItemsWithMaximumSum(
149141
if (numOnes >= k) {
150142
return k;
151143
}
152-
k -= numOnes;
153-
if (numZeros >= k) {
144+
if (numZeros >= k - numOnes) {
154145
return numOnes;
155146
}
156-
k -= numZeros;
157-
return numOnes - k;
147+
return numOnes - (k - numOnes - numZeros);
148+
}
149+
```
150+
151+
### **C#**
152+
153+
```cs
154+
public class Solution {
155+
public int KItemsWithMaximumSum(int numOnes, int numZeros, int numNegOnes, int k) {
156+
if (numOnes >= k) {
157+
return k;
158+
}
159+
if (numZeros >= k - numOnes) {
160+
return numOnes;
161+
}
162+
return numOnes - (k - numOnes - numZeros);
163+
}
158164
}
159165
```
160166

solution/2600-2699/2600.K Items With the Maximum Sum/README_EN.md

+26-20
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,9 @@ class Solution:
5858
) -> int:
5959
if numOnes >= k:
6060
return k
61-
k -= numOnes
62-
if numZeros >= k:
61+
if numZeros >= k - numOnes:
6362
return numOnes
64-
k -= numZeros
65-
return numOnes - k
63+
return numOnes - (k - numOnes - numZeros)
6664
```
6765

6866
### **Java**
@@ -73,12 +71,10 @@ class Solution {
7371
if (numOnes >= k) {
7472
return k;
7573
}
76-
k -= numOnes;
77-
if (numZeros >= k) {
74+
if (numZeros >= k - numOnes) {
7875
return numOnes;
7976
}
80-
k -= numZeros;
81-
return numOnes - k;
77+
return numOnes - (k - numOnes - numZeros);
8278
}
8379
}
8480
```
@@ -92,12 +88,10 @@ public:
9288
if (numOnes >= k) {
9389
return k;
9490
}
95-
k -= numOnes;
96-
if (numZeros >= k) {
91+
if (numZeros >= k - numOnes) {
9792
return numOnes;
9893
}
99-
k -= numZeros;
100-
return numOnes - k;
94+
return numOnes - (k - numOnes - numZeros);
10195
}
10296
};
10397
```
@@ -109,12 +103,10 @@ func kItemsWithMaximumSum(numOnes int, numZeros int, numNegOnes int, k int) int
109103
if numOnes >= k {
110104
return k
111105
}
112-
k -= numOnes
113-
if numZeros >= k {
106+
if numZeros >= k-numOnes {
114107
return numOnes
115108
}
116-
k -= numZeros
117-
return numOnes - k
109+
return numOnes - (k - numOnes - numZeros)
118110
}
119111
```
120112

@@ -130,12 +122,26 @@ function kItemsWithMaximumSum(
130122
if (numOnes >= k) {
131123
return k;
132124
}
133-
k -= numOnes;
134-
if (numZeros >= k) {
125+
if (numZeros >= k - numOnes) {
135126
return numOnes;
136127
}
137-
k -= numZeros;
138-
return numOnes - k;
128+
return numOnes - (k - numOnes - numZeros);
129+
}
130+
```
131+
132+
### **C#**
133+
134+
```cs
135+
public class Solution {
136+
public int KItemsWithMaximumSum(int numOnes, int numZeros, int numNegOnes, int k) {
137+
if (numOnes >= k) {
138+
return k;
139+
}
140+
if (numZeros >= k - numOnes) {
141+
return numOnes;
142+
}
143+
return numOnes - (k - numOnes - numZeros);
144+
}
139145
}
140146
```
141147

Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1-
class Solution {
2-
public:
3-
int kItemsWithMaximumSum(int numOnes, int numZeros, int numNegOnes, int k) {
4-
if (numOnes >= k) {
5-
return k;
6-
}
7-
k -= numOnes;
8-
if (numZeros >= k) {
9-
return numOnes;
10-
}
11-
k -= numZeros;
12-
return numOnes - k;
13-
}
1+
class Solution {
2+
public:
3+
int kItemsWithMaximumSum(int numOnes, int numZeros, int numNegOnes, int k) {
4+
if (numOnes >= k) {
5+
return k;
6+
}
7+
if (numZeros >= k - numOnes) {
8+
return numOnes;
9+
}
10+
return numOnes - (k - numOnes - numZeros);
11+
}
1412
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
public class Solution {
2+
public int KItemsWithMaximumSum(int numOnes, int numZeros, int numNegOnes, int k) {
3+
if (numOnes >= k) {
4+
return k;
5+
}
6+
if (numZeros >= k - numOnes) {
7+
return numOnes;
8+
}
9+
return numOnes - (k - numOnes - numZeros);
10+
}
11+
}

solution/2600-2699/2600.K Items With the Maximum Sum/Solution.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@ func kItemsWithMaximumSum(numOnes int, numZeros int, numNegOnes int, k int) int
22
if numOnes >= k {
33
return k
44
}
5-
k -= numOnes
6-
if numZeros >= k {
5+
if numZeros >= k-numOnes {
76
return numOnes
87
}
9-
k -= numZeros
10-
return numOnes - k
8+
return numOnes - (k - numOnes - numZeros)
119
}
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
class Solution {
2-
public int kItemsWithMaximumSum(int numOnes, int numZeros, int numNegOnes, int k) {
3-
if (numOnes >= k) {
4-
return k;
5-
}
6-
k -= numOnes;
7-
if (numZeros >= k) {
8-
return numOnes;
9-
}
10-
k -= numZeros;
11-
return numOnes - k;
12-
}
1+
class Solution {
2+
public int kItemsWithMaximumSum(int numOnes, int numZeros, int numNegOnes, int k) {
3+
if (numOnes >= k) {
4+
return k;
5+
}
6+
if (numZeros >= k - numOnes) {
7+
return numOnes;
8+
}
9+
return numOnes - (k - numOnes - numZeros);
10+
}
1311
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
class Solution:
2-
def kItemsWithMaximumSum(
3-
self, numOnes: int, numZeros: int, numNegOnes: int, k: int
4-
) -> int:
5-
if numOnes >= k:
6-
return k
7-
k -= numOnes
8-
if numZeros >= k:
9-
return numOnes
10-
k -= numZeros
11-
return numOnes - k
1+
class Solution:
2+
def kItemsWithMaximumSum(
3+
self, numOnes: int, numZeros: int, numNegOnes: int, k: int
4+
) -> int:
5+
if numOnes >= k:
6+
return k
7+
if numZeros >= k - numOnes:
8+
return numOnes
9+
return numOnes - (k - numOnes - numZeros)

solution/2600-2699/2600.K Items With the Maximum Sum/Solution.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@ function kItemsWithMaximumSum(
77
if (numOnes >= k) {
88
return k;
99
}
10-
k -= numOnes;
11-
if (numZeros >= k) {
10+
if (numZeros >= k - numOnes) {
1211
return numOnes;
1312
}
14-
k -= numZeros;
15-
return numOnes - k;
13+
return numOnes - (k - numOnes - numZeros);
1614
}

solution/2700-2799/2720.Popularity Percentage/README.md

+16-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,22 @@ user1 按升序排序。</pre>
8383
<!-- 这里可写当前语言的特殊实现逻辑 -->
8484

8585
```sql
86-
86+
# Write your MySQL query statement below
87+
WITH
88+
F AS (
89+
SELECT * FROM Friends
90+
UNION
91+
SELECT user2, user1 FROM Friends
92+
),
93+
T AS (SELECT count(DISTINCT user1) AS cnt FROM F)
94+
SELECT DISTINCT
95+
user1,
96+
round(
97+
(count(1) OVER (PARTITION BY user1)) * 100 / (SELECT cnt FROM T),
98+
2
99+
) AS percentage_popularity
100+
FROM F
101+
ORDER BY 1;
87102
```
88103

89104
<!-- tabs:end -->

solution/2700-2799/2720.Popularity Percentage/README_EN.md

+16-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,22 @@ user1 is sorted in ascending order.
7777
### **SQL**
7878

7979
```sql
80-
80+
# Write your MySQL query statement below
81+
WITH
82+
F AS (
83+
SELECT * FROM Friends
84+
UNION
85+
SELECT user2, user1 FROM Friends
86+
),
87+
T AS (SELECT count(DISTINCT user1) AS cnt FROM F)
88+
SELECT DISTINCT
89+
user1,
90+
round(
91+
(count(1) OVER (PARTITION BY user1)) * 100 / (SELECT cnt FROM T),
92+
2
93+
) AS percentage_popularity
94+
FROM F
95+
ORDER BY 1;
8196
```
8297

8398
<!-- tabs:end -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Write your MySQL query statement below
2+
WITH
3+
F AS (
4+
SELECT * FROM Friends
5+
UNION
6+
SELECT user2, user1 FROM Friends
7+
),
8+
T AS (SELECT count(DISTINCT user1) AS cnt FROM F)
9+
SELECT DISTINCT
10+
user1,
11+
round(
12+
(count(1) OVER (PARTITION BY user1)) * 100 / (SELECT cnt FROM T),
13+
2
14+
) AS percentage_popularity
15+
FROM F
16+
ORDER BY 1;

solution/2700-2799/2738.Count Occurrences in Text/README.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,14 @@ Files 表:
6666
<!-- 这里可写当前语言的特殊实现逻辑 -->
6767

6868
```sql
69-
69+
# Write your MySQL query statement below
70+
SELECT 'bull' AS word, count(*) AS count
71+
FROM Files
72+
WHERE content LIKE '% bull %'
73+
UNION
74+
SELECT 'bear' AS word, count(*) AS count
75+
FROM Files
76+
WHERE content LIKE '% bear %';
7077
```
7178

7279
<!-- tabs:end -->

solution/2700-2799/2738.Count Occurrences in Text/README_EN.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,14 @@ Files table:
6161
### **SQL**
6262

6363
```sql
64-
64+
# Write your MySQL query statement below
65+
SELECT 'bull' AS word, count(*) AS count
66+
FROM Files
67+
WHERE content LIKE '% bull %'
68+
UNION
69+
SELECT 'bear' AS word, count(*) AS count
70+
FROM Files
71+
WHERE content LIKE '% bear %';
6572
```
6673

6774
<!-- tabs:end -->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Write your MySQL query statement below
2+
SELECT 'bull' AS word, count(*) AS count
3+
FROM Files
4+
WHERE content LIKE '% bull %'
5+
UNION
6+
SELECT 'bear' AS word, count(*) AS count
7+
FROM Files
8+
WHERE content LIKE '% bear %';

0 commit comments

Comments
 (0)