Skip to content

Commit ec3fcf1

Browse files
committed
feat: add solutions to lc problems: No.1935,1936
1 parent 5e57193 commit ec3fcf1

File tree

11 files changed

+159
-11
lines changed

11 files changed

+159
-11
lines changed

solution/0000-0099/0064.Minimum Path Sum/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class Solution:
6363
dp[0][j] = dp[0][j - 1] + grid[0][j]
6464
for i in range(1, m):
6565
for j in range(1, n):
66-
dp[i][j] = min(dp[i -1][j], dp[i][j - 1]) + grid[i][j]
66+
dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j]
6767
return dp[-1][-1]
6868
```
6969

solution/0000-0099/0064.Minimum Path Sum/README_EN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class Solution:
5353
dp[0][j] = dp[0][j - 1] + grid[0][j]
5454
for i in range(1, m):
5555
for j in range(1, n):
56-
dp[i][j] = min(dp[i -1][j], dp[i][j - 1]) + grid[i][j]
56+
dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j]
5757
return dp[-1][-1]
5858
```
5959

solution/0000-0099/0064.Minimum Path Sum/Solution.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ def minPathSum(self, grid: List[List[int]]) -> int:
88
dp[0][j] = dp[0][j - 1] + grid[0][j]
99
for i in range(1, m):
1010
for j in range(1, n):
11-
dp[i][j] = min(dp[i -1][j], dp[i][j - 1]) + grid[i][j]
11+
dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j]
1212
return dp[-1][-1]

solution/1900-1999/1935.Maximum Number of Words You Can Type/README.md

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,48 @@
5757
<!-- 这里可写当前语言的特殊实现逻辑 -->
5858

5959
```python
60-
60+
class Solution:
61+
def canBeTypedWords(self, text: str, brokenLetters: str) -> int:
62+
letters = set(brokenLetters)
63+
res = 0
64+
for word in text.split():
65+
find = False
66+
for letter in letters:
67+
if letter in word:
68+
find = True
69+
break
70+
if not find:
71+
res += 1
72+
return res
6173
```
6274

6375
### **Java**
6476

6577
<!-- 这里可写当前语言的特殊实现逻辑 -->
6678

6779
```java
68-
80+
class Solution {
81+
public int canBeTypedWords(String text, String brokenLetters) {
82+
Set<Character> letters = new HashSet<>();
83+
for (char c : brokenLetters.toCharArray()) {
84+
letters.add(c);
85+
}
86+
int res = 0;
87+
for (String word : text.split(" ")) {
88+
boolean find = false;
89+
for (char c : letters) {
90+
if (word.indexOf(c) > -1) {
91+
find = true;
92+
break;
93+
}
94+
}
95+
if (!find) {
96+
++res;
97+
}
98+
}
99+
return res;
100+
}
101+
}
69102
```
70103

71104
### **...**

solution/1900-1999/1935.Maximum Number of Words You Can Type/README_EN.md

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,46 @@
5252
### **Python3**
5353

5454
```python
55-
55+
class Solution:
56+
def canBeTypedWords(self, text: str, brokenLetters: str) -> int:
57+
letters = set(brokenLetters)
58+
res = 0
59+
for word in text.split():
60+
find = False
61+
for letter in letters:
62+
if letter in word:
63+
find = True
64+
break
65+
if not find:
66+
res += 1
67+
return res
5668
```
5769

5870
### **Java**
5971

6072
```java
61-
73+
class Solution {
74+
public int canBeTypedWords(String text, String brokenLetters) {
75+
Set<Character> letters = new HashSet<>();
76+
for (char c : brokenLetters.toCharArray()) {
77+
letters.add(c);
78+
}
79+
int res = 0;
80+
for (String word : text.split(" ")) {
81+
boolean find = false;
82+
for (char c : letters) {
83+
if (word.indexOf(c) > -1) {
84+
find = true;
85+
break;
86+
}
87+
}
88+
if (!find) {
89+
++res;
90+
}
91+
}
92+
return res;
93+
}
94+
}
6295
```
6396

6497
### **...**
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
public int canBeTypedWords(String text, String brokenLetters) {
3+
Set<Character> letters = new HashSet<>();
4+
for (char c : brokenLetters.toCharArray()) {
5+
letters.add(c);
6+
}
7+
int res = 0;
8+
for (String word : text.split(" ")) {
9+
boolean find = false;
10+
for (char c : letters) {
11+
if (word.indexOf(c) > -1) {
12+
find = true;
13+
break;
14+
}
15+
}
16+
if (!find) {
17+
++res;
18+
}
19+
}
20+
return res;
21+
}
22+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class Solution:
2+
def canBeTypedWords(self, text: str, brokenLetters: str) -> int:
3+
letters = set(brokenLetters)
4+
res = 0
5+
for word in text.split():
6+
find = False
7+
for letter in letters:
8+
if letter in word:
9+
find = True
10+
break
11+
if not find:
12+
res += 1
13+
return res

solution/1900-1999/1936.Add Minimum Number of Rungs/README.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,30 @@
7676
<!-- 这里可写当前语言的特殊实现逻辑 -->
7777

7878
```python
79-
79+
class Solution:
80+
def addRungs(self, rungs: List[int], dist: int) -> int:
81+
prev = res = 0
82+
for rung in rungs:
83+
res += (rung - prev - 1) // dist
84+
prev = rung
85+
return res
8086
```
8187

8288
### **Java**
8389

8490
<!-- 这里可写当前语言的特殊实现逻辑 -->
8591

8692
```java
87-
93+
class Solution {
94+
public int addRungs(int[] rungs, int dist) {
95+
int res = 0;
96+
for (int i = 0, prev = 0; i < rungs.length; ++i) {
97+
res += (rungs[i] - prev - 1) / dist;
98+
prev = rungs[i];
99+
}
100+
return res;
101+
}
102+
}
88103
```
89104

90105
### **...**

solution/1900-1999/1936.Add Minimum Number of Rungs/README_EN.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,28 @@ This ladder can be climbed without adding additional rungs.
6969
### **Python3**
7070

7171
```python
72-
72+
class Solution:
73+
def addRungs(self, rungs: List[int], dist: int) -> int:
74+
prev = res = 0
75+
for rung in rungs:
76+
res += (rung - prev - 1) // dist
77+
prev = rung
78+
return res
7379
```
7480

7581
### **Java**
7682

7783
```java
78-
84+
class Solution {
85+
public int addRungs(int[] rungs, int dist) {
86+
int res = 0;
87+
for (int i = 0, prev = 0; i < rungs.length; ++i) {
88+
res += (rungs[i] - prev - 1) / dist;
89+
prev = rungs[i];
90+
}
91+
return res;
92+
}
93+
}
7994
```
8095

8196
### **...**
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution {
2+
public int addRungs(int[] rungs, int dist) {
3+
int res = 0;
4+
for (int i = 0, prev = 0; i < rungs.length; ++i) {
5+
res += (rungs[i] - prev - 1) / dist;
6+
prev = rungs[i];
7+
}
8+
return res;
9+
}
10+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class Solution:
2+
def addRungs(self, rungs: List[int], dist: int) -> int:
3+
prev = res = 0
4+
for rung in rungs:
5+
res += (rung - prev - 1) // dist
6+
prev = rung
7+
return res

0 commit comments

Comments
 (0)