iT邦幫忙

2022 iThome 鐵人賽

DAY 25
2

「咦奇怪,今天夏天姐也沒來嗎?」

「對呀,他好像說要去忙一些事情。說讓我們兩個自己先解一些題目」

「喔⋯⋯好吧,我回家時自己解了這題」

1528. Shuffle String

class Solution {
    fun restoreString(s: String, indices: IntArray): String {
        val array = CharArray(s.length)
        indices.forEachIndexed { i, num -> array[num] = s[i] }
        return String(array)
    }
}

「原來可以用 CharArray,你真的對 Collection 這類物件好熟悉喔!

我自己是解了這一題」

1832. Check if the Sentence Is Pangram

class Solution {  
    fun checkIfPangram(sentence: String): Boolean {  
        val lettersMap = mutableMapOf<Char, Char>()  
        for(element in sentence) {  
            lettersMap[element]  = ' '  
        }  
        return lettersMap.keys.size == 26  
    }  
}

「嗯⋯⋯這題的 for 迴圈我會這樣寫」

class Solution {
    fun checkIfPangram(sentence: String): Boolean {
        val lettersMap = mutableMapOf<Char, Char>()
        sentence.forEach { lettersMap[it] = ' ' }
        return lettersMap.keys.size == 26
    }
}

「原來如此,還有這一題」

371. Sum of Two Integers

class Solution {
    fun getSum(a: Int, b: Int): Int {
        var a = a
        var b = b
        while (b != 0) {
            var carry = a and b
            a = a xor b
            carry = carry shl 1
            b = carry
        }
        return a
    }
}

「這類需要用到二進位的題目,我都覺得好難喔」曉欣有點睏洛的說。

「嗯⋯⋯這我也不知道,可能是因為之前大學教過了,所以對這些題目還是比較熟悉吧。

或許你再多多練習就可以拿手一點了?」

「好的⋯⋯」

「岔個題外話,你最近看樹的題目,還熟悉嗎?」

「對了!說到這個,我看到一題很有趣的題目!」

2236. Root Equals Sum of Children

「嗯⋯⋯等等!這題的樹只有三個節點嗎?那根本就不用⋯⋯」

「不用遞迴對吧!我也覺得很有趣」

class Solution {
    fun checkTree(root: TreeNode?): Boolean = root?.`val` == root?.left?.`val`!! + root.right?.`val`!!
}

「Kotlin 檢查空值的方式真的很有趣,又是用 ?.,又是用 !! 的」

「對呀,看《深入淺出》的教學,說這樣可以減少犯錯的機會。不知道什麼時候可以找到程式相關的工作,實際體會看看」

「沒問題的!你現在寫程式的能力那麼好了,相信你很快就可以找到工作的!」

「這段話好像是夏天姐會跟我們說的話喔」

「對呀」菁菁嘆了口氣「夏姐到底在忙什麼啊,神神秘秘的」


上一篇
Day 24:自主學習 leetcode 帶來順利的一天:2114、2011、2160、1920
下一篇
Day 26:認識雪倫的一天:1022
系列文
Kotlin 程式人:Leetcode 意外旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言