Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f2a411a

Browse files
feat: add solutions to lc problems: No.2951,2952 (#2057)
* No.2951.Find the Peaks * No.2952.Minimum Number of Coins to be Added
1 parent 2cbc8f3 commit f2a411a

File tree

14 files changed

+367
-12
lines changed

14 files changed

+367
-12
lines changed

‎solution/2900-2999/2951.Find the Peaks/README.md‎

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,27 +60,75 @@ mountain[2] 也不可能是峰值,因为它不严格大于 mountain[3] 和 mou
6060
<!-- 这里可写当前语言的特殊实现逻辑 -->
6161

6262
```python
63-
63+
class Solution:
64+
def findPeaks(self, mountain: List[int]) -> List[int]:
65+
return [
66+
i
67+
for i in range(1, len(mountain) - 1)
68+
if mountain[i - 1] < mountain[i] > mountain[i + 1]
69+
]
6470
```
6571

6672
### **Java**
6773

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

7076
```java
71-
77+
class Solution {
78+
public List<Integer> findPeaks(int[] mountain) {
79+
List<Integer> ans = new ArrayList<>();
80+
for (int i = 1; i < mountain.length - 1; ++i) {
81+
if (mountain[i - 1] < mountain[i] && mountain[i + 1] < mountain[i]) {
82+
ans.add(i);
83+
}
84+
}
85+
return ans;
86+
}
87+
}
7288
```
7389

7490
### **C++**
7591

7692
```cpp
77-
93+
class Solution {
94+
public:
95+
vector<int> findPeaks(vector<int>& mountain) {
96+
vector<int> ans;
97+
for (int i = 1; i < mountain.size() - 1; ++i) {
98+
if (mountain[i - 1] < mountain[i] && mountain[i + 1] < mountain[i]) {
99+
ans.push_back(i);
100+
}
101+
}
102+
return ans;
103+
}
104+
};
78105
```
79106
80107
### **Go**
81108
82109
```go
110+
func findPeaks(mountain []int) (ans []int) {
111+
for i := 1; i < len(mountain)-1; i++ {
112+
if mountain[i-1] < mountain[i] && mountain[i+1] < mountain[i] {
113+
ans = append(ans, i)
114+
}
115+
}
116+
return
117+
}
118+
```
83119

120+
### **TypeScript**
121+
122+
```ts
123+
function findPeaks(mountain: number[]): number[] {
124+
const ans: number[] = [];
125+
for (let i = 1; i < mountain.length - 1; ++i) {
126+
if (mountain[i - 1] < mountain[i] && mountain[i + 1] < mountain[i]) {
127+
ans.push(i);
128+
}
129+
}
130+
return ans;
131+
}
84132
```
85133

86134
### **...**

‎solution/2900-2999/2951.Find the Peaks/README_EN.md‎

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,25 +52,73 @@ So the answer is [1,3].
5252
### **Python3**
5353

5454
```python
55-
55+
class Solution:
56+
def findPeaks(self, mountain: List[int]) -> List[int]:
57+
return [
58+
i
59+
for i in range(1, len(mountain) - 1)
60+
if mountain[i - 1] < mountain[i] > mountain[i + 1]
61+
]
5662
```
5763

5864
### **Java**
5965

6066
```java
61-
67+
class Solution {
68+
public List<Integer> findPeaks(int[] mountain) {
69+
List<Integer> ans = new ArrayList<>();
70+
for (int i = 1; i < mountain.length - 1; ++i) {
71+
if (mountain[i - 1] < mountain[i] && mountain[i + 1] < mountain[i]) {
72+
ans.add(i);
73+
}
74+
}
75+
return ans;
76+
}
77+
}
6278
```
6379

6480
### **C++**
6581

6682
```cpp
67-
83+
class Solution {
84+
public:
85+
vector<int> findPeaks(vector<int>& mountain) {
86+
vector<int> ans;
87+
for (int i = 1; i < mountain.size() - 1; ++i) {
88+
if (mountain[i - 1] < mountain[i] && mountain[i + 1] < mountain[i]) {
89+
ans.push_back(i);
90+
}
91+
}
92+
return ans;
93+
}
94+
};
6895
```
6996
7097
### **Go**
7198
7299
```go
100+
func findPeaks(mountain []int) (ans []int) {
101+
for i := 1; i < len(mountain)-1; i++ {
102+
if mountain[i-1] < mountain[i] && mountain[i+1] < mountain[i] {
103+
ans = append(ans, i)
104+
}
105+
}
106+
return
107+
}
108+
```
73109

110+
### **TypeScript**
111+
112+
```ts
113+
function findPeaks(mountain: number[]): number[] {
114+
const ans: number[] = [];
115+
for (let i = 1; i < mountain.length - 1; ++i) {
116+
if (mountain[i - 1] < mountain[i] && mountain[i + 1] < mountain[i]) {
117+
ans.push(i);
118+
}
119+
}
120+
return ans;
121+
}
74122
```
75123

76124
### **...**
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Solution {
2+
public:
3+
vector<int> findPeaks(vector<int>& mountain) {
4+
vector<int> ans;
5+
for (int i = 1; i < mountain.size() - 1; ++i) {
6+
if (mountain[i - 1] < mountain[i] && mountain[i + 1] < mountain[i]) {
7+
ans.push_back(i);
8+
}
9+
}
10+
return ans;
11+
}
12+
};
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
func findPeaks(mountain []int) (ans []int) {
2+
for i := 1; i < len(mountain)-1; i++ {
3+
if mountain[i-1] < mountain[i] && mountain[i+1] < mountain[i] {
4+
ans = append(ans, i)
5+
}
6+
}
7+
return
8+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution {
2+
public List<Integer> findPeaks(int[] mountain) {
3+
List<Integer> ans = new ArrayList<>();
4+
for (int i = 1; i < mountain.length - 1; ++i) {
5+
if (mountain[i - 1] < mountain[i] && mountain[i + 1] < mountain[i]) {
6+
ans.add(i);
7+
}
8+
}
9+
return ans;
10+
}
11+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class Solution:
2+
def findPeaks(self, mountain: List[int]) -> List[int]:
3+
return [
4+
i
5+
for i in range(1, len(mountain) - 1)
6+
if mountain[i - 1] < mountain[i] > mountain[i + 1]
7+
]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
function findPeaks(mountain: number[]): number[] {
2+
const ans: number[] = [];
3+
for (let i = 1; i < mountain.length - 1; ++i) {
4+
if (mountain[i - 1] < mountain[i] && mountain[i + 1] < mountain[i]) {
5+
ans.push(i);
6+
}
7+
}
8+
return ans;
9+
}

‎solution/2900-2999/2952.Minimum Number of Coins to be Added/README.md‎

Lines changed: 74 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,27 +63,98 @@
6363
<!-- 这里可写当前语言的特殊实现逻辑 -->
6464

6565
```python
66-
66+
class Solution:
67+
def minimumAddedCoins(self, coins: List[int], target: int) -> int:
68+
coins.sort()
69+
s = 1
70+
ans = i = 0
71+
while s <= target:
72+
if i < len(coins) and coins[i] <= s:
73+
s += coins[i]
74+
i += 1
75+
else:
76+
s <<= 1
77+
ans += 1
78+
return ans
6779
```
6880

6981
### **Java**
7082

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

7385
```java
74-
86+
class Solution {
87+
public int minimumAddedCoins(int[] coins, int target) {
88+
Arrays.sort(coins);
89+
int ans = 0;
90+
for (int i = 0, s = 1; s <= target;) {
91+
if (i < coins.length && coins[i] <= s) {
92+
s += coins[i++];
93+
} else {
94+
s <<= 1;
95+
++ans;
96+
}
97+
}
98+
return ans;
99+
}
100+
}
75101
```
76102

77103
### **C++**
78104

79105
```cpp
80-
106+
class Solution {
107+
public:
108+
int minimumAddedCoins(vector<int>& coins, int target) {
109+
sort(coins.begin(), coins.end());
110+
int ans = 0;
111+
for (int i = 0, s = 1; s <= target;) {
112+
if (i < coins.size() && coins[i] <= s) {
113+
s += coins[i++];
114+
} else {
115+
s <<= 1;
116+
++ans;
117+
}
118+
}
119+
return ans;
120+
}
121+
};
81122
```
82123
83124
### **Go**
84125
85126
```go
127+
func minimumAddedCoins(coins []int, target int) (ans int) {
128+
slices.Sort(coins)
129+
for i, s := 0, 1; s <= target; {
130+
if i < len(coins) && coins[i] <= s {
131+
s += coins[i]
132+
i++
133+
} else {
134+
s <<= 1
135+
ans++
136+
}
137+
}
138+
return
139+
}
140+
```
86141

142+
### **TypeScript**
143+
144+
```ts
145+
function minimumAddedCoins(coins: number[], target: number): number {
146+
coins.sort((a, b) => a - b);
147+
let ans = 0;
148+
for (let i = 0, s = 1; s <= target; ) {
149+
if (i < coins.length && coins[i] <= s) {
150+
s += coins[i++];
151+
} else {
152+
s <<= 1;
153+
++ans;
154+
}
155+
}
156+
return ans;
157+
}
87158
```
88159

89160
### **...**

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /