Num 하위 배열 제품 K보다 작음

3205 단어 javascriptleetcode
문제 설명 #
양수와 목표 숫자가 있는 배열이 주어지면 제품이 목표 숫자보다 작은 인접한 하위 배열을 모두 찾습니다.

예 1:

입력: [2, 5, 3, 10], 대상=30
출력: [2], [5], [2, 5], [3], [5, 3], [10]
설명: 제품이 목표보다 작은 6개의 연속 하위 배열이 있습니다.
예 2:

입력: [8, 2, 6, 5], 대상=50
출력: [8], [2], [8, 2], [6], [2, 6], [5], [6, 5]
설명: 제품이 목표보다 작은 7개의 연속 하위 배열이 있습니다.

/**
 * @param {number[]} nums
 * @param {number} k
 * @return {number}
 */
var numSubarrayProductLessThanK = function (nums, k) {
  let left = 0;
  let right = 0;
  let product = 1;
  let output = 0;
  while (left < nums.length) {
    if (!product) {
      product = product * nums[left];
    } else {
      product = product * nums[right];
    }
    if (product < k) {
      right++;
      output++;
    } else {
      left++;
      right = left;
      product = 1;
    }
  }
  return output;
};

좋은 웹페이지 즐겨찾기