本文主要是介绍LCR 131. 砍竹子 I,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解题思路:(与砍竹子II的区别是,这里的竹子长度数量级较小)
数学推导或贪心
切分规则:
等长,且尽量为3
b=0时,pow(3,a)
b=1时,pow(3,a-1)*4 少一段3,并入b生成一个4
b=2时,pow(3,a)*2 乘2就行,少一段3,并入b生成一个5更大
class Solution {public int cuttingBamboo(int bamboo_len) {if(bamboo_len <= 3) return bamboo_len - 1;int a = bamboo_len / 3, b = bamboo_len % 3;if(b == 0) return (int)Math.pow(3, a);if(b == 1) return (int)Math.pow(3, a - 1) * 4;return (int)Math.pow(3, a) * 2;}
}
这篇关于LCR 131. 砍竹子 I的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!