Skip to content

Commit 0ad33e5

Browse files
Merge branch 'master' of github.com:youngyangyang04/leetcode-master
2 parents 730dd3c + 4df81ae commit 0ad33e5

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

problems/0343.整数拆分.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ dp[i] 是依靠 dp[i - j]的状态,所以遍历i一定是从前向后遍历,
8888
所以遍历顺序为:
8989
```CPP
9090
for (int i = 3; i <= n ; i++) {
91-
for (int j = 1; j < i - 1; j++) {
91+
for (int j = 1; j <= i / 2; j++) {
9292
dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j));
9393
}
9494
}
@@ -191,7 +191,7 @@ public:
191191
dp[2] = 2;
192192
dp[3] = 3;
193193
for (int i = 4; i <= n ; i++) {
194-
for (int j = 1; j < i - 1; j++) {
194+
for (int j = 1; j <= i / 2; j++) {
195195
dp[i] = max(dp[i], dp[i - j] * dp[j]);
196196
}
197197
}
@@ -248,7 +248,7 @@ class Solution:
248248
# 假设对正整数 i 拆分出的第一个正整数是 j(1 <= j < i),则有以下两种方案:
249249
# 1) 将 i 拆分成 j 和 i−j 的和,且 i−j 不再拆分成多个正整数,此时的乘积是 j * (i-j)
250250
# 2) 将 i 拆分成 j 和 i−j 的和,且 i−j 继续拆分成多个正整数,此时的乘积是 j * dp[i-j]
251-
for j in range(1, i - 1):
251+
for j in range(1, i / 2 + 1):
252252
dp[i] = max(dp[i], max(j * (i - j), j * dp[i - j]))
253253
return dp[n]
254254
```
@@ -305,7 +305,7 @@ var integerBreak = function(n) {
305305
dp[2] = 1
306306

307307
for(let i = 3; i <= n; i++) {
308-
for(let j = 1; j < i; j++) {
308+
for(let j = 1; j <= i / 2; j++) {
309309
dp[i] = Math.max(dp[i], dp[i - j] * j, (i - j) * j)
310310
}
311311
}
@@ -330,7 +330,7 @@ function integerBreak(n: number): number {
330330
const dp: number[] = new Array(n + 1).fill(0);
331331
dp[2] = 1;
332332
for (let i = 3; i <= n; i++) {
333-
for (let j = 1; j <= i - 2; j++) {
333+
for (let j = 1; j <= i / 2; j++) {
334334
dp[i] = Math.max(dp[i], j * dp[i - j], j * (i - j));
335335
}
336336
}

problems/1005.K次取反后最大化的数组和.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -190,23 +190,23 @@ func largestSumAfterKNegations(nums []int, K int) int {
190190
### Javascript
191191
```Javascript
192192
var largestSumAfterKNegations = function(nums, k) {
193-
nums.sort((a, b) => {
194-
return Math.abs(b) - Math.abs(a)
195-
})
196-
for(let i = 0; i < nums.length; i++) {
197-
if(nums[i] < 0 && k > 0) {
198-
nums[i] *= -1
199-
k--
193+
194+
nums.sort((a,b) => Math.abs(b) - Math.abs(a))
195+
196+
for(let i = 0 ;i < nums.length; i++){
197+
if(nums[i] < 0 && k > 0){
198+
nums[i] = - nums[i];
199+
k--;
200200
}
201201
}
202202

203-
if(k > 0 && k % 2 === 1) {
204-
nums[nums.length - 1] *= -1
203+
// 若k还大于0,则寻找最小的数进行不断取反
204+
while( k > 0 ){
205+
nums[nums.length-1] = - nums[nums.length-1]
206+
k--;
205207
}
206-
k = 0
207-
208208
return nums.reduce((a, b) => {
209-
return a + b
209+
a + b
210210
})
211211
};
212212

0 commit comments

Comments
 (0)