iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 26
0
Software Development

刷刷題 or Alan Becker's game 製作 is a question 系列 第 26

(Easy) 28. Implement strStr()

體驗:

  • 跨縣市 邊騎機車邊想邏輯怎麼寫 ... QQ 在出發前還沒解決
    • 通解的重要性 為某些測資補Code 真的不行,補這個發現另一個就不行...
    • LeetCode 依順序寫 會發現Locality (相似度滿高)
  • 國慶時用手機寫Code (以下截圖)
    • 切電腦版,開始打Code 上下左右滑找輸入游標... 累累der
    • 還先用 hack.md 先草稿 , 不然中途沒有按 鐵人的儲存草稿就GG 重打
  • 圖片說明:
    • 左為今天的Code
    • 右為昨天(10/10)的Code
      https://ithelp.ithome.com.tw/upload/images/20201011/20111516pP8WDAg3Lb.jpg

  1. Implement strStr()

Implement strStr().

Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

Clarification:

What should we return when needle is an empty string? This is a great question to ask during an interview.

For the purpose of this problem, we will return 0 when needle is an empty string. This is consistent to C's strstr() and Java's indexOf().

Example 1:

Input: haystack = "hello", needle = "ll"
Output: 2

Example 2:

Input: haystack = "aaaaa", needle = "bba"
Output: -1

Example 3:

Input: haystack = "", needle = ""
Output: 0

Constraints:

0 <= haystack.length, needle.length <= 5 * 104
haystack and needle consist of only lower-case English characters.


思路:
題目說 C 用 strstr() Java用 indexOf() 阿我是用 Python3 寫,我用 s1.index().s2,也就是說
haystack.index(needle)。
而 在 haystack 中 找不到 needle 時 , 按原本方式:直接 return 答案,會 Compile Error。
所以 多個 try... exception...
在 exception 的部分 某種程度上 就是 找不到時會進的區塊。

class Solution:
    def strStr(self, haystack: str, needle: str) -> int:
        try:
            return haystack.index(needle)
        except:
            return -1

上一篇
(Easy) 27. Remove Element
下一篇
(Medium) 29. Divide Two Integers #水
系列文
刷刷題 or Alan Becker's game 製作 is a question 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言