Find K Pairs with Smallest Sums

Sett·2021년 8월 8일
0

문제

https://leetcode.com/problems/find-k-pairs-with-smallest-sums/submissions/

문제 접근

  1. 일단 [u,v] 형태로 만들고 내부 u+v해서 대소 비교한 다음,
  2. 정렬함 작은 순서대로,
  3. k 만큼 넣음
  4. 시간 초과 남 ㅋ
  5. https://leetcode.com/submissions/detail/535145859/testcase/
    테스트 케이스 너무 살벌한 데.. 시간초과 해결할 방법 모르겠다.

소스 코드

func kSmallestPairs(_ nums1: [Int], _ nums2: [Int], _ k: Int) -> [[Int]] {
    var result: [[Int]] = []
    var myarr: [[Int]] = []
    
    for i in 0..<nums1.count {
        for j in 0..<nums2.count {
            let tempArr = [nums1[i], nums2[j]]
            myarr.append(tempArr)
        }
    }
    myarr.sort { a, b in
        sum(arr: a) < sum(arr: b)
    }
    for i in 0..<k {
        if i > myarr.count {
            break
        }
        result.append(myarr[i])
    }
    return result
}

func sum(arr : [Int]) -> Int{
    var result = 0
    for i in 0..<arr.count {
        result += arr[i]
    }
    return result
}
profile
안녕하세요

0개의 댓글

관련 채용 정보