Recca Chao 的 gitHub page

推廣網站開發,包含 Laravel 和 Kotlin 後端撰寫、自動化測試、讀書心得等。Taiwan Kotlin User Group 管理員。

View on GitHub

Kotlin Leetcode - 1920. Build Array from Permutation

題目連接

class Solution {
    fun buildArray(nums: IntArray): IntArray {
    }
}

解題思路

這一題處理的是陣列

建立一個新陣列

並符合題目要求的ans[i] = nums[nums[i]] 即可

迴圈的部分我們可以選用 for 迴圈

或者比較函式編程風格的 forEachIndexed

Kotlin 參考解答

點擊展開解答
class Solution {
    fun buildArray(nums: IntArray): IntArray {
        val ans = MutableList(nums.size) { 0 }
        for (i in nums.indices) {
            ans[i] = nums[nums[i]]
        }
        return ans.toIntArray()
    }
}

如果將其中的 forforEachIndexed 改寫

可以寫成

class Solution {
    fun buildArray(nums: IntArray): IntArray {
        val ans = MutableList(nums.size) { 0 }
        nums.forEachIndexed { i, num -> ans[i] = nums[nums[i]] }
        return ans.toIntArray()
    }
}

回到 leetcode 列表