Kotlin Leetcode - 1720. Decode XORed Array
class Solution {
fun decode(encoded: IntArray, first: Int): IntArray {
}
}
解題思路
這一題考的是 xor 的處理方式
利用 kotlin 內建的 xor
可以很直觀地解決這個題目
迴圈的部分可以使用傳統的 for
或者 forEachIndexed
Kotlin 參考解答
點擊展開解答
class Solution {
fun decode(encoded: IntArray, first: Int): IntArray {
val decodedArray = IntArray(encoded.size + 1)
decodedArray[0] = first
for (i in encoded.indices) {
decodedArray[i + 1] = decodedArray[i] xor encoded[i]
}
return decodedArray
}
}
如果將其中的 for
以 forEachIndexed
改寫
可以寫成
class Solution {
fun decode(encoded: IntArray, first: Int): IntArray {
val decodedArray = IntArray(encoded.size + 1)
decodedArray[0] = first
encoded.forEachIndexed { i, encode -> decodedArray[i + 1] = decodedArray[i] xor encode }
return decodedArray
}
}
回到 leetcode 列表