Skip to content

Commit 75f749b

Browse files
committed
feat: add solutions to lcci problem: No.16.11
No.16.11.Diving Board
1 parent 5bc2a41 commit 75f749b

File tree

8 files changed

+154
-6
lines changed

8 files changed

+154
-6
lines changed

.github/workflows/starcharts.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ jobs:
1515
github_token: ${{ secrets.GITHUB_TOKEN }}
1616
svg_path: images/starcharts.svg
1717
commit_message: "chore: update starcharts to leetcode project @doocs"
18-
stars_change: "100"
18+
stars_change: "50"

lcci/16.11.Diving Board/README.md

+58-1
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,72 @@ k = 3
3131
<!-- 这里可写当前语言的特殊实现逻辑 -->
3232

3333
```python
34-
34+
class Solution:
35+
def divingBoard(self, shorter: int, longer: int, k: int) -> List[int]:
36+
if k == 0:
37+
return []
38+
if longer == shorter:
39+
return [longer * k]
40+
ans = []
41+
for i in range(k + 1):
42+
ans.append(longer * i + shorter * (k - i))
43+
return ans
3544
```
3645

3746
### **Java**
3847

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

4150
```java
51+
class Solution {
52+
public int[] divingBoard(int shorter, int longer, int k) {
53+
if (k == 0) {
54+
return new int[0];
55+
}
56+
if (longer == shorter) {
57+
return new int[]{longer * k};
58+
}
59+
int[] ans = new int[k + 1];
60+
for (int i = 0; i < k + 1; ++i) {
61+
ans[i] = longer * i + shorter * (k - i);
62+
}
63+
return ans;
64+
}
65+
}
66+
```
67+
68+
### **C++**
69+
70+
```cpp
71+
class Solution {
72+
public:
73+
vector<int> divingBoard(int shorter, int longer, int k) {
74+
if (k == 0) return {};
75+
if (longer == shorter) return {longer * k};
76+
vector<int> ans;
77+
for (int i = 0; i < k + 1; ++i)
78+
ans.push_back(longer * i + shorter * (k - i));
79+
return ans;
80+
}
81+
};
82+
```
4283
84+
### **Go**
85+
86+
```go
87+
func divingBoard(shorter int, longer int, k int) []int {
88+
if k == 0 {
89+
return []int{}
90+
}
91+
if longer == shorter {
92+
return []int{longer * k}
93+
}
94+
var ans []int
95+
for i := 0; i < k+1; i++ {
96+
ans = append(ans, longer*i+shorter*(k-i))
97+
}
98+
return ans
99+
}
43100
```
44101

45102
### **...**

lcci/16.11.Diving Board/README_EN.md

+58-1
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,70 @@ k = 3
3838
### **Python3**
3939

4040
```python
41-
41+
class Solution:
42+
def divingBoard(self, shorter: int, longer: int, k: int) -> List[int]:
43+
if k == 0:
44+
return []
45+
if longer == shorter:
46+
return [longer * k]
47+
ans = []
48+
for i in range(k + 1):
49+
ans.append(longer * i + shorter * (k - i))
50+
return ans
4251
```
4352

4453
### **Java**
4554

4655
```java
56+
class Solution {
57+
public int[] divingBoard(int shorter, int longer, int k) {
58+
if (k == 0) {
59+
return new int[0];
60+
}
61+
if (longer == shorter) {
62+
return new int[]{longer * k};
63+
}
64+
int[] ans = new int[k + 1];
65+
for (int i = 0; i < k + 1; ++i) {
66+
ans[i] = longer * i + shorter * (k - i);
67+
}
68+
return ans;
69+
}
70+
}
71+
```
72+
73+
### **C++**
74+
75+
```cpp
76+
class Solution {
77+
public:
78+
vector<int> divingBoard(int shorter, int longer, int k) {
79+
if (k == 0) return {};
80+
if (longer == shorter) return {longer * k};
81+
vector<int> ans;
82+
for (int i = 0; i < k + 1; ++i)
83+
ans.push_back(longer * i + shorter * (k - i));
84+
return ans;
85+
}
86+
};
87+
```
4788
89+
### **Go**
90+
91+
```go
92+
func divingBoard(shorter int, longer int, k int) []int {
93+
if k == 0 {
94+
return []int{}
95+
}
96+
if longer == shorter {
97+
return []int{longer * k}
98+
}
99+
var ans []int
100+
for i := 0; i < k+1; i++ {
101+
ans = append(ans, longer*i+shorter*(k-i))
102+
}
103+
return ans
104+
}
48105
```
49106

50107
### **...**

lcci/16.11.Diving Board/Solution.cpp

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution {
2+
public:
3+
vector<int> divingBoard(int shorter, int longer, int k) {
4+
if (k == 0) return {};
5+
if (longer == shorter) return {longer * k};
6+
vector<int> ans;
7+
for (int i = 0; i < k + 1; ++i)
8+
ans.push_back(longer * i + shorter * (k - i));
9+
return ans;
10+
}
11+
};

lcci/16.11.Diving Board/Solution.go

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
func divingBoard(shorter int, longer int, k int) []int {
2+
if k == 0 {
3+
return []int{}
4+
}
5+
if longer == shorter {
6+
return []int{longer * k}
7+
}
8+
var ans []int
9+
for i := 0; i < k+1; i++ {
10+
ans = append(ans, longer*i+shorter*(k-i))
11+
}
12+
return ans
13+
}

lcci/16.11.Diving Board/Solution.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public int[] divingBoard(int shorter, int longer, int k) {
77
return new int[]{longer * k};
88
}
99
int[] ans = new int[k + 1];
10-
for (int i = 0;i <= k;i++) {
10+
for (int i = 0; i < k + 1; ++i) {
1111
ans[i] = longer * i + shorter * (k - i);
1212
}
1313
return ans;

lcci/16.11.Diving Board/Solution.py

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution:
2+
def divingBoard(self, shorter: int, longer: int, k: int) -> List[int]:
3+
if k == 0:
4+
return []
5+
if longer == shorter:
6+
return [longer * k]
7+
ans = []
8+
for i in range(k + 1):
9+
ans.append(longer * i + shorter * (k - i))
10+
return ans

solution/main.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
from urllib.parse import quote
66

77
import requests
8-
import requests.packages.urllib3
8+
import urllib3
99

10-
requests.packages.urllib3.disable_warnings()
10+
urllib3.disable_warnings()
1111

1212

1313
class LCSpider:

0 commit comments

Comments
 (0)