leetcode: 1464. Maximum Product of Two Elements in an Array

kldaji·2021년 12월 16일
0

leetcode

목록 보기
11/56

문제링크

풀이1

class Solution {
    fun maxProduct(nums: IntArray): Int {
        // maxHeap
        val pq = PriorityQueue<Int>(Collections.reverseOrder())
        nums.forEach {
            pq.offer(it)
        }
        return (pq.poll() - 1) * (pq.poll() - 1)
    }
}

풀이2

import kotlin.math.max

class Solution {
    fun maxProduct(nums: IntArray): Int {
        var biggest = 0 // 가장 큰 값
        var bigger = 0 // 그 다음으로 큰 값
        for (num in nums) {
            if (num > biggest) {
                bigger = biggest
                biggest = num
            } else if (num > bigger) bigger = num
        }
        return (biggest - 1) * (bigger - 1)
    }
}
profile
다양한 관점에서 다양한 방법으로 문제 해결을 지향하는 안드로이드 개발자 입니다.

0개의 댓글