Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查java中的数组是否为筛选器_Java_C++_Arrays - Fatal编程技术网

检查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
所以{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,否则返回

这是我的解决方案,请你给我提供最有效的解决方案,告诉我我的逻辑在这里有多有效?不允许内置函数和排序等,只是java上的核心逻辑,C++或C++中的OK。 解决方案

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,请先查看,但要先阅读他们的指南。可能存在重复的