滿足條件的元素索引數組

  var indexArr = []
      var index = 0
      while (index <= arr.length - 1) {
        var index = arr.indexOf(0, index)
        if (index > -1) {
          indexArr.push(index)
        } else {
          break
        }
        ++index
      }
      console.log(indexArr)

種花問題:

邊界問題:自己填充!!

// 正常思路:
    // 1. 如果該元素是0, 前一個後一個都爲0,滿足條件count加一 種上
    // 2. 首位元素:首不用判斷前一個 尾不用判斷後一個
    // 如果只有一個元素[0] 報錯

    // 解法:前後填充0 循環 如果該元素是0, 前一個後一個都爲0,滿足條件count加一 種上
    var canPlaceFlowers = function(flowerbed, n) {
      var count = 0
      flowerbed.push(0)
      flowerbed.unshift(0)
      // 循環去掉首尾填充的
      for (var i = 1; i < flowerbed.length - 1; i++) {
        if (flowerbed[i] === 0 && flowerbed[i + 1] === 0 && flowerbed[i - 1] === 0)                     
         {
          ++count
          flowerbed[i] = 1
        }
      }
      return n <= count
    };

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章