[LeetCode] 3105. Longest Strictly Increasing or Strictly Decreasing Subarray

Chobby·6일 전

LeetCode

목록 보기
855/873

😎풀이

  1. nums 순회
  2. 하위 배열 중, 모든 요소가 이전 요소 미만의 값을 갖는 최대 길이 탐색
  3. 하위 배열 중, 모든 요소가 이전 요소 초과의 값을 갖ㅈ는 최대 길이 탐색
  4. 두 최대 길이 중 더 큰 길이로 최대 길이 갱신
  5. 탐색된 최대 길이 반환
function longestMonotonicSubarray(nums: number[]): number {
    const n = nums.length
    let longest = 0
    for(let left = 0; left < n; left++) {
        let len = 1
        for(let right = left + 1; right < n; right++) {
            if(nums[right] <= nums[right - 1]) break
            len++
        }
        longest = Math.max(longest, len)
        len = 1
        for(let right = left + 1; right < n; right++) {
            if(nums[right] >= nums[right - 1]) break
            len++
        }
        longest = Math.max(longest, len)
    }
    return longest
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글