绳子"/>
【剑指offer】剪绳子
=13&tqId=33257&tPage=4&rp=4&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
使用递归的方式剪绳子,使用flag表示是否原始输入,而不是递归的输入。每次保存当次分裂结果并判断大小。分裂的长度为1到target/2+1之间。
public class cutRope {public int cutRope(int target) {return cut(target, false);}public int cut(int target, boolean flag){if(target == 1) return 1;if(flag == false && target == 2) return 1;int max = 1;for(int i=1; i<=target/2+1; i++){int temp = i * cut(target - i, true);max = temp > max? temp : max;}return max;}public static void main(String[] args) {cutRope s = new cutRope();int target = 8;System.out.println(s.cutRope(target));}
}
更多推荐
【剑指offer】剪绳子
发布评论