检查java中的数组是否为筛选器
问题:如果数组满足以下条件,则将其定义为筛选器数组检查java中的数组是否为筛选器,java,c++,arrays,Java,C++,Arrays,问题:如果数组满足以下条件,则将其定义为筛选器数组 a。如果它包含9,那么它也包含11 b。如果包含7,则不包含13 所以{1,2,3,9,6,11}和{3,4,6,7,14,16},{1,2,3,4,10,11,13}和{3,6,5,5,13,6,13}是过滤器数组。以下数组不是筛选器数组:{9,6,18}(包含9但不包含11),{4,7,13}(同时包含7和13) 编写一个名为isFilter的函数,如果其数组参数是筛选器数组,则返回1,否则返回 这是我的解决方案,请你给我提供最有效的解
- a。如果它包含9,那么它也包含11
- b。如果包含7,则不包含13
static int isFilter(int[] a){
int i,len=a.length,j,result=1,found9=0,found11=0,found7=0,found13=0;
for(i=0;i<len;i++){
if(a[i]==9 ){
found9=1;
for(j=0;j<len; j++){
if(a[j]==11){
found11=1;
}
}
}
if(a[i]==7){
found7=1;
for(j=0;j<len;j++){
if(a[j]==13){
found13=1;
}
}
}
}
if(found9==1 && found11!=1){
result=0;
}
if(found7==1 && found13!=0){
result=0;
}
return result;
}
静态int-isFilter(int[]a){
int i,len=a.length,j,result=1,found9=0,found11=0,found7=0,found13=0;
对于(i=0;imb)更有效
static int isFilter(int[] a){
boolean found9 = false, found11 = false, found7 = false, found13 = false;
for (int i = 0; i < a.length; i++) {
switch (a[i]) {
case 7:
found7 = true;
break;
case 9:
found9 = true;
break;
case 11:
found11 = true;
break;
case 13:
found13 = true;
break;
}
}
if(found9 && found11) return 1;
if(found7 && !found13) return 1;
return 0;
}
静态int-isFilter(int[]a){
布尔值found9=false,found11=false,found7=false,found13=false;
for(int i=0;i
如果您想查看codereview,请先查看,但要先阅读他们的指南。可能存在重复的