[LeetCode] 1464. Maximum Product of Two Elements in an Array

Chobby·2025년 9월 1일
1

LeetCode

목록 보기
529/582

😎풀이

  1. nums를 순회한다.
    1-1. 가장 큰 수를 갱신하며 찾는다. (이 때 가장 큰 수보다 더 큰 수가 나타났다면 가장 큰 수가 두 번째로 큰 수로 갱신된다.)
    1-2. 두번째로 큰 수를 갱신하며 찾는다. (가장 큰 수 보다는 작지만 두 번째로 큰 수 보다는 큰 경우 해당 수만 갱신한다.)
  2. (가장 큰 수 - 1 * 두 번째로 큰 수 - 1) 의 값을 반환한다.
function maxProduct(nums: number[]): number {
    let first = 0
    let second = 0
    for(const num of nums) {
        if(num <= second) continue
        if(num >= first) {
            second = first
            first = num
        } else if(num > second) {
            second = num
        }
    }
    return (first - 1) * (second - 1)
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글