import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/*
* 输入一个序列,如: 1,2,3,4,2
* 输入一个整数,如:6
* 求子序列和为整数的最大长度长度
* 上述例子和为6的子序列有1,2,3和4,2
* 最长子序列为1,2,3,长度为3
* 如果没有和等于6的序列,则返回null
* */
public class Main {
public static void main(String[] args) {
int num[] = {1,2,3,4,2,1,1,1,1,1};
int sum = 6;
List<Integer> l = fun(num,sum);
if(l.size()==0){
System.out.println("NULL");
}else{
System.out.println( Collections.max(l));
}
}
public static List<Integer> fun(int[] y,int sum){
List<Integer> l = new ArrayList<Integer>();
for(int i=0;i< y.length;i++){
int sums = 0;
for(int j=i;j<y.length;j++){
sums +=y[j];
if(sums==sum){
l.add(j-i+1);
break;
}else if(sums>sum){
break;
}else{
continue;
}
}
}
return l;
}
}