zoukankan      html  css  js  c++  java
  • leetcode每日一题之2.爱生气的书店老板

    爱生气的书店老板

    解题思路,首先计算不算X的所有满意的客户数量。然后计算X时间可能产生的最大的客户满意数量,即使用滑动窗口的方式,从左往右,找出最大的值,加上之前的值即可。代码如下

    class Solution {
    
      /**
       * @param Integer[] $customers
       * @param Integer[] $grumpy
       * @param Integer $X
       * @return Integer
       */
      function maxSatisfied($customers, $grumpy, $X) {
          $count = 0;
          $length = count($customers);
          for($i = 0; $i < $length; $i++){
              if($grumpy[$i] == 0){
                  $count += $customers[$i];
              }
          }
          $increase = 0;
          for($i = 0; $i < $X; $i++){
              $increase += $customers[$i] * $grumpy[$i];
          }
          $maxIncrease = $increase;
          for($j = $X; $j < $length; $j++){
              $increase = $increase + $customers[$j] * $grumpy[$j] - $customers[$j - $X] * $grumpy[$j - $X];
              $maxIncrease = max($maxIncrease, $increase);
          }
          return $count + $maxIncrease;
       }
    }
  • 相关阅读:
    map侧连接
    二次排序
    倒排索引
    多表关联
    单表关联
    Shuffle
    Partitioner
    Combiner
    CSS3中的多列
    CSS3动画
  • 原文地址:https://www.cnblogs.com/qiye5757/p/14437653.html
Copyright © 2011-2022 走看看