File tree Expand file tree Collapse file tree 3 files changed +83
-0
lines changed Expand file tree Collapse file tree 3 files changed +83
-0
lines changed Original file line number Diff line number Diff line change
1
+ # [ 面试题14- I. 剪绳子] ( https://leetcode-cn.com/problems/jian-sheng-zi-lcof/ )
2
+
3
+ ## 题目描述
4
+ 给你一根长度为 ` n ` 的绳子,请把绳子剪成整数长度的 ` m ` 段(m、n 都是整数,n>1 并且 m>1),每段绳子的长度记为 ` k[0],k[1]...k[m] ` 。请问 ` k[0]*k[1]*...*k[m] ` 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为 2、3、3 的三段,此时得到的最大乘积是 18。
5
+
6
+ ** 示例 1:**
7
+ ```
8
+ 输入: 2
9
+ 输出: 1
10
+ 解释: 2 = 1 + 1, 1 × 1 = 1
11
+ ```
12
+
13
+ ** 示例 2:**
14
+
15
+ ```
16
+ 输入: 10
17
+ 输出: 36
18
+ 解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36
19
+ ```
20
+
21
+ ** 提示:**
22
+
23
+ - ` 2 <= n <= 58 `
24
+
25
+ ## 解法
26
+ ### Python3
27
+ ``` python
28
+ class Solution :
29
+ def cuttingRope (self , n : int ) -> int :
30
+ if n < 4 :
31
+ return n - 1
32
+ s1, m = divmod (n, 3 )
33
+ if m == 1 :
34
+ s1 -= 1
35
+ m = 4
36
+ return pow (3 , s1) * (1 if m == 0 else m)
37
+ ```
38
+
39
+ ### Java
40
+ ``` java
41
+ class Solution {
42
+ public int cuttingRope (int n ) {
43
+ if (n < 4 ) {
44
+ return n - 1 ;
45
+ }
46
+ int s1 = n / 3 ;
47
+ int m = n % 3 ;
48
+ if (m == 1 ) {
49
+ s1 -= 1 ;
50
+ m = 4 ;
51
+ }
52
+ return (int ) (Math . pow(3 , s1) * ((m == 0 ) ? 1 : m));
53
+ }
54
+ }
55
+ ```
56
+
57
+ ### ...
58
+ ```
59
+
60
+ ```
Original file line number Diff line number Diff line change
1
+ class Solution {
2
+ public int cuttingRope (int n ) {
3
+ if (n < 4 ) {
4
+ return n - 1 ;
5
+ }
6
+ int s1 = n / 3 ;
7
+ int m = n % 3 ;
8
+ if (m == 1 ) {
9
+ s1 -= 1 ;
10
+ m = 4 ;
11
+ }
12
+ return (int ) (Math .pow (3 , s1 ) * ((m == 0 ) ? 1 : m ));
13
+ }
14
+ }
Original file line number Diff line number Diff line change
1
+ class Solution :
2
+ def cuttingRope (self , n : int ) -> int :
3
+ if n < 4 :
4
+ return n - 1
5
+ s1 , m = divmod (n , 3 )
6
+ if m == 1 :
7
+ s1 -= 1
8
+ m = 4
9
+ return pow (3 , s1 ) * (1 if m == 0 else m )
You can’t perform that action at this time.
0 commit comments