iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0

後來我才知道,還有更短的解法,終究是錯付了。

時代在進步,程式語言在簡化。

class Solution {
    fun numJewelsInStones(jewels: String, stones: String): Int {
        return stones.count { it in jewels }
    }
}

這次的線索是58. Length of Last Word,找結尾單詞的長度。

學妹很快的根據題目說明,把解法打出,將前後空白拿掉,顛倒字串順序,然後取得第一個空白位置。

但她通過基本測試準備送出去的時候被我擋住了。

class Solution {
    fun lengthOfLastWord(s: String): Int {
        return s.trim().reversed().indexOf(" ")
    }
}

「我覺得這個解法有漏洞。」

「可是執行Run Code沒有問題呀。」

Run Code只有跑基本測試,更精準地說,跑的是第一個範例,妳可以點擊Testcase看看。」

截圖 2022-09-15 下午10 23 41

「這樣會有什麼問題嗎?」學妹歪頭看我。

我指了指Testcase的方框:「有時候有些極端的例子需要我們手動加入,直接在原本的範例下一行加入再執行Run Code就可以了。」

截圖 2022-09-15 下午10 38 35

截圖 2022-09-15 下午10 39 02

「啊,出錯了,我忘了考慮只有一個單詞的情況了。」學妹說著很快就修改了寫法。

class Solution {
    fun lengthOfLastWord(s: String): Int {
        return s.trim().reversed().plus(" ").indexOf(" ")
    }
}

截圖 2022-09-15 下午10 42 05

「還有其他特殊情況嗎?」這次學妹謹慎起來,通過測試也沒有馬上送出。

我想了想:「應該沒有了。送出吧。」

學妹緊張地按下送出鍵。


上一篇
Day08: 正規式超強大
下一篇
Day10: 自由選題
系列文
不解題就不能離開的房間31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言