数据的最少分组数(数组)求更正!
题目描述
有一组数字共有N个数,,要求对这组数字进行分组,规则:找出这组数字中连续的数字,作为一组,如果是单独的数字就单独作为单独的一组.最终将这组数据分成多个组,但是要求分组后,每一组数据的和不能超过一个给定的最大值M
要求写出通用算法。
举例说明:如有一组数据共有9个数值1,2,3,13,9,10,11,12,15这组数字,要求进行分组,每组的和不超过16,则共可以分成4组(第一组:1,2,3为连续的数字.第二组:13为一个独立的数字,第三组:9,第四组10,第五组11为连续的数字.第六组12为一个独立的数字,第七组为15),所以答案为最少可以分为7组
输入
输入2行,第一行含有2个数字 N M
第二行为N 个数,每个数之间用一个空格隔开
输出
输出可以分出的最少组数
样例输入
9 16
1 2 3 13 9 10 11 12 15
样例输出
7
下面是我的代码:求更正
public class 一维数组中级J {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner rd=new Scanner(System.in);
int N=rd.nextInt();
int M=rd.nextInt();
int arr[]=new int[N];
for(int i=0;i<N;i++)
{
arr[i]=rd.nextInt();
}
int sum=0;
for(int i=0;i<arr.length;i++)
{
if(arr[i]<10)
{
if(arr[i+1]-arr[i]==1)
{
if(arr[i+1]-arr[i]!=1)
{
sum+=1;
}
}
}
else if(arr[i]%11==0)
{
sum+=1;
}
else{
sum+=1;
}System.out.print(sum);
}
}
}
if(arr[i+1]-arr[i]==1) { if(arr[i+1]-arr[i]!=1) { sum+=1; } }
else if(arr[i]%11==0) { sum+=1; } else{ sum+=1;