【路飞】栈-表现良好的最长时间段

142 阅读1分钟

「这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战

题目:1124. 表现良好的最长时间段

image.png

解法一:

暴力破解

function longestWPI(hours) {
  const n = hours.length;
  let res = 0;
  let sum = new Array(n + 1).fill(0);
  for (let i = 0; i < n; ++i) {
    // 求出前缀和
    sum[i + 1] = sum[i] + (hours[i] > 8 ? 1 : -1);
    for (let j = 0; j <= i; ++j) {
      if (sum[i + 1] - sum[j] > 0) {
        res = Math.max(res, i + 1 - j);
        break;
      }
    }
  }
  return res;
}