Skip to content

Commit 8a3a40c

Browse files
author
Chu Fan
committed
docs: cutRope update
1 parent eed59e1 commit 8a3a40c

File tree

3 files changed

+56
-1
lines changed

3 files changed

+56
-1
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/**
2+
* G(n,m)=k * G(n-k)(m-1)
3+
*/
4+
function cutRope(number) {
5+
let max = 1
6+
for (let index = 1; index <= number; index++) {
7+
if (max < index * cutRope(number - index)) {
8+
max = index * cutRope(number - index)
9+
}
10+
}
11+
return max
12+
}
13+
14+
15+
console.log(cutRope(8))

docs/manuscript/solo-algorithm/sword-point/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272

7373
### 贪心思想
7474

75-
- 剪绳子
75+
- [x] [【中等】剪绳子](贪心思想/cutRope.md)
7676
- [ ] [【LeetCode题目】股票的最大利润](贪心思想/maxProfit.md)
7777

7878

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# 剪绳子
2+
3+
4+
5+
6+
### 题目链接
7+
8+
- [牛客网](https://www.nowcoder.com/practice/57d85990ba5b440ab888fc72b0751bf8)
9+
- [欢迎讨论]()
10+
11+
### 题目描述
12+
13+
给你一根长度为 n 的绳子,请把绳子剪成整数长的 m 段( m 、 n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳子的长度记为 k[1],...,k[m] 。请问 k[1]*k[2]*...*k[m] 可能的最大乘积是多少?例如,当绳子的长度是 8 时,我们把它剪成长度分别为 2、3、3 的三段,此时得到的最大乘积是 18 。
14+
15+
数据范围:2≤n≤60
16+
进阶:空间复杂度O(1) ,时间复杂度O(n)
17+
18+
19+
示例:
20+
21+
```bash
22+
#输入:
23+
8
24+
#返回值:
25+
18
26+
#说明:
27+
8 = 2 +3 +3 , 2*3*3=18
28+
```
29+
30+
### 思路
31+
32+
- 贪心思想
33+
34+
35+
### 代码实现
36+
37+
@[code js](@code/algorithm/剑指/贪心思想/cutRope.js)
38+
39+
40+
### 一些建议

0 commit comments

Comments
 (0)