zoukankan      html  css  js  c++  java
  • [Algorithm] Count Negative Integers in Row/Column-Wise Sorted Matrix

    Each row and each column are already SORTED in the given matrix! 

    const mix = [[-3, -2, -1, 3], [-1, 0, 1, 3], [0, 2, 4, 5]];
    
    /**
     * Start from top right slot, go from right to left, top to bottom
     * case 1; If the current value is larger than 0, keep moving to left
     * case 2: if the current value is smaller than , menas the rest of value should
     *  also less than zero, count = count + 1 + j
     *  then move to next row
     */
    // findNegativeNumbers :: [num] -> num
    function findNegativeNumbers(data) {
      let count = 0;
      let i = 0,
        j = data[0].length - 1;
      while (i <= data.length - 1 && j >= 0) {
        const current = data[i][j];
        if (current >= 0) {
          j--;
        } else {
          count += j + 1;
          i++;
        }
      }
      return count;
    }
    
    console.log(findNegativeNumbers(mix)); // 4
  • 相关阅读:
    从进入这里,没有写过什么文章,现在开始吧
    24)
    23)
    22)
    21)
    20)
    19)
    18)
    17)
    16)
  • 原文地址:https://www.cnblogs.com/Answer1215/p/10427862.html
Copyright © 2011-2022 走看看