Java开发技术

return how many ways list square

2025-05-11  本文已影响0人  程序员编程助手

/**

* return how many ways list squares chocorate can be divided into list chocorate squares arr contains size 2

* parameter s is arr list chocorate squares is a list s[2,2,1,3,2]

* parameter d is user's birthday

* parameter m is user's birthday month

* birthday d= birthday month+random list s[i]-i index is next step between tow array index squares value

* birthday month m is from the chocorate squares list firt element

* contraint:

*  list size n: 1<=n<=100

*  chocorote squares: 1<=s[i]<=5 where(0<i<n)

*  birthday d: 1<=d<=31

*  brithday month m: 1<=m<=12

* @param s

* @param d

* @param m

* @return

*/

public static int birthday(Lists,int d,int m){

if (s==null){

return 0;

}

if(s.isEmpty()){

return 0;

}

if(s.size()<0 ||s.size()>100){

return 0;

}

for (Integer e :s) {

if(e<0 ||e>5){

return 0;

}

}

if(d<0 ||d>31){

return 0;

}

if (m<0 ||m>12){

return 0;

}

int count=0;

if (s.size()==1){

if(m==d){

for (Integer e :s) {

if (e==m){

count++;

}

}

}

}

ArrayList>lists =new ArrayList<>();

for (int i =0;i

ArrayListintegers =new ArrayList<>();

integers.add(s.get(i));

i++;

if(i

integers.add(s.get(i));

lists.add(integers);

i--;

}

}

ArrayList>lists1 =new ArrayList<>();

for (Listlist :lists) {

int sum=0;

ArrayListintegerArrayList =new ArrayList<>();

for (Integer integer :list) {

sum+=integer;

integerArrayList.add(integer);

if (sum==d){

lists1.add(integerArrayList);

break;

}

}

}

int countWays=0;

for (ListintegerList :lists1) {

if (integerList.contains(m)){

countWays++;

}

}

return countWays+count;

}

上一篇 下一篇

猜你喜欢

热点阅读