【问题标题】:counting amount of true statements in a 2d boolean array计算二维布尔数组中真实语句的数量
【发布时间】:2020-07-23 10:16:48
【问题描述】:

要计算真实陈述的数量,我已经有合适的代码

public static int countTrueStatement(int posX, int posY, boolean [][]arr){
        int count=0;
        for(int i=0; i < arr.length; i++){
            for (int j = 0; j < arr.length; j++) {
                if(arr[i][j]){
                    count++;
            }
        }
    }
        return count;
    }
}

现在我不想计算所有的数组,而只计算相邻的。例如。如果我的数组大小为 7x7,我只想从我可以决定的位置计算 3x3 数组中真实语句的数量。我想过创建一个子数组,但我不确定这是否是解决我的问题的最佳解决方案。

【问题讨论】:

    标签: java arrays boolean


    【解决方案1】:

    尝试:

    public static int countTrueStatement(int posX, int posY, int lenX, int lenY, boolean [][]arr){
        int count=0;
        for(int i=posY; i < posY + lenY; i++){
            for (int j = posX; j < posX + lenX; j++) {
                if(arr[i][j]){
                    count++;
                }
            }
        }
        return count;
    }
    

    我们不是从数组的开头(索引 0)开始迭代,而是从 posY,posX 开始。同样,我们在 lenY,lenX 之后停止,而不是在到达数组末尾时停止。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 2013-05-01
      • 2021-02-14
      • 2017-01-02
      • 1970-01-01
      • 2012-07-28
      • 2016-04-08
      • 2021-11-08
      相关资源
      最近更新 更多