leetcode - find k closest elements(kotlin)

silver·2021년 7월 3일
0

level - medium

자세한 설명과 내용은 아래 링크를 참고해주세요.
https://velog.io/@mdok1112/leetcode-find-k-closest-elementsjava

위의 링크에서는 설명과 자바코드가 들어있으며
여기서는 코틀린으로 작성한 코드만 있습니다.

class Solution {
    fun findClosestElements(arr: IntArray, k: Int, x: Int): List<Int> {
        val closer = HashMap<Int, Int>();
        for (i in arr.indices) {
            closer.put(i, kotlin.math.abs(arr[i] - x));
        }

        val keySet = ArrayList<Int>(closer.keys);
        Collections.sort(keySet, Comparator { o1, o2 -> closer.get(o1)!!.compareTo(closer.get(o2)!!) });

        val result = ArrayList<Int>();
        for(i in 0 until k) {
            result.add(arr[keySet.get(i)]);
        }
        result.sort();

        return result;
    }
}

0개의 댓글