【问题描述】
有一些大理石台面,这些台面都是标准宽度和多种长度。要切割大理石台面是十分困难的事情,这需要特殊的机器才能将之切分,另外切分出的其中一块必须是k米长。
现给定数组stock标明了这些大理石台面的长度,orders数组标明了客户要求的长度,k表示每次切分的单位,现在需要计算要满足客户的要求最少要切分多少次。
注:交给客户的台面长度必须等于客户要求的长度,每次切分必须保证分成的2块中有一块的长度为k。
定义:
类 MarbleTop
方法 public int minCuts(int k, int[] stock, int[] orders)
约束:
1、k取值在1至40;
2、stock和orders在1至50个元素,其取值在1至40之间。
测试用例:
1、5 {5,3,11} {10,3,5}
Returns: -1
2、5 {5,3,11} {6,6,5}
Returns: -1
3、1 {7,6,2,1} {3,1,1,1,1,1,1}
Returns: 4