常规算法思路如下 :
(步骤还可以吧,没做优化就是。。。反正我看着挺清晰的~)
编辑器用的vscode,代码拷贝之后可以直接运行,省的麻烦,,,,
public class SplitArr {
public static void main(String[] args) {
int[] array = {
0, 59, 11, 1, 2, 3, 4, 59, 6, 7, 12, 59, 24, 11 };
Arr a = new Arr();
int[][] arr = a.splitArr(array);
// 检查数组
for (int[] is : arr) {
System.out.println(java.util.Arrays.toString(is));
}
}
}
class Arr {
/**
*
* @param oldArray 需要拆分的数组
* @return 拆分之后返回数组集合( 用二维数组存放 )
*/
public int[][] splitArr(int[] oldArray) {
// 筛选空数组-->空指针异常…………暂时不知道怎么筛选……
// if (oldArray.length == 0) {
// return null;
// }
// 找最大值
int max = Arr.findMaxs(oldArray);
// 找最大值的个数
int sumOfMaxs