Day7- [再不學python我要被世界淘汰了] Leetcode 28

更新 發佈閱讀 4 分鐘

昨天太晚才做出來這一題,所以就懶得寫下來了

Leetcode 28

28. Find the Index of the First Occurrence in a String

Given two strings needle and haystack, return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

Example 1:

Input: haystack = "sadbutsad", needle = "sad"
Output: 0
Explanation: "sad" occurs at index 0 and 6.
The first occurrence is at index 0, so we return 0.

Example 2:

Input: haystack = "leetcode", needle = "leeto"
Output: -1
Explanation: "leeto" did not occur in "leetcode", so we return -1.

Constraints:

  • 1 <= haystack.length, needle.length <= 104
  • haystack and needle consist of only lowercase English characters.



我最初寫法 :

raw-image
  • needle不在haystack中,輸出-1
  • 找出haystack中和needle[0]一樣的字母的位置號碼,將它們變成字串
  • 利用for迴圈,針對temp的位置號碼,比較haystackneedle是否一樣

EX:

輸入:

haystack =

"mississippi"
needle =

"sipp"

正確輸出:

6




我的想法 :

temp =[2, 3, 5, 6]

for迴圈中 :

將字串temp轉成int()型態

item依序跑2、3、5、6

從haystack[2]開始跑

haystack[2] = needle[0],item= item + 1 = 2 + 1 = 3

haystack[3] != needle[1],break出內層for迴圈

接著從haystack[3]繼續跑

haystack[3] = needle[0],item= item + 1 = 3 + 1 = 4

haystack[4] = needle[1],item= item + 1 = 4 + 1 = 5

haystack[5] != needle[2],break出內層for迴圈

接著從haystack[5]繼續跑

haystack[5] = needle[0],item= item + 1 = 5 + 1 = 6

haystack[6] !=needle[1],break出內層for迴圈

接著從haystack[6]繼續跑

haystack[6] = needle[0],item= item + 1 = 6 + 1 = 7

haystack[7] = needle [1],item= item + 1 = 7 + 1 = 8

haystack[8] = needle[2],item = item + 1 = 8 + 1 = 9

haystack[9] = needle[3]

完整跑完的haystack[6],最後輸出 6

其實這題還可以用slicing strings 的寫法去做

會快很多

之後再來寫~~

留言
avatar-img
留言分享你的想法!
avatar-img
Debby的沙龍
17會員
27內容數
這裡是綜合的財經商業|創業|事業脈動等等大小事情集聚地,喜歡關注在各領域發生的大小事務,希望我的隨意聊聊以及分析,能夠挑動大家的賺錢神經,讓我們一起動動腦,讓自己對事物有感,讓賺錢/創業/自我進步一點一滴邁進,口袋慢慢的鼓起來,讓我們的腦袋不再出現噹噹的回響,一起讓生活活起來吧!
Debby的沙龍的其他內容
2025/06/08
本文介紹字串修改的技巧,包含轉換大小寫、移除空白字元、替換子字串、切割字串以及字串串接等方法,並提供程式碼範例說明。
Thumbnail
2025/06/08
本文介紹字串修改的技巧,包含轉換大小寫、移除空白字元、替換子字串、切割字串以及字串串接等方法,並提供程式碼範例說明。
Thumbnail
2025/06/07
本文介紹Python字串切片(slicing)的技巧,包含基本用法、負數索引、步進值以及反向切片等,並輔以範例程式碼說明。
Thumbnail
2025/06/07
本文介紹Python字串切片(slicing)的技巧,包含基本用法、負數索引、步進值以及反向切片等,並輔以範例程式碼說明。
Thumbnail
2025/06/06
本篇文章介紹Python程式語言中的數字、字串和迴圈等基本概念,包含型別轉換、字串的表示方法、多行字串、字串的索引、字串迴圈、字串長度取得以及子字串的檢查等。適合Python初學者閱讀。
Thumbnail
2025/06/06
本篇文章介紹Python程式語言中的數字、字串和迴圈等基本概念,包含型別轉換、字串的表示方法、多行字串、字串的索引、字串迴圈、字串長度取得以及子字串的檢查等。適合Python初學者閱讀。
Thumbnail
看更多
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
Append Characters to String to Make Subsequence 給定兩個字串s和字串t。 請計算最少的字元串接數量是多少,串接在s的尾端,使得t是s的子序列。 測試範例 Example 1: Input: s = "coaching", t =
Thumbnail
Append Characters to String to Make Subsequence 給定兩個字串s和字串t。 請計算最少的字元串接數量是多少,串接在s的尾端,使得t是s的子序列。 測試範例 Example 1: Input: s = "coaching", t =
Thumbnail
Leetcode 精選75題 題目與題解 熱門考點 目錄 (持續更新中) 建議從左側目錄 或者 按Ctrl+F輸入關鍵字進行搜尋
Thumbnail
Leetcode 精選75題 題目與題解 熱門考點 目錄 (持續更新中) 建議從左側目錄 或者 按Ctrl+F輸入關鍵字進行搜尋
Thumbnail
探討如何使用DP動態規劃的方法來進行單字串接,包含了DP遞迴關係式、狀態定義、優化技巧和程式碼示例。同時分析了時間複雜度、空間複雜度和關鍵知識點。這是LeetCode的一個應用題,類似於Word Break I的延伸。
Thumbnail
探討如何使用DP動態規劃的方法來進行單字串接,包含了DP遞迴關係式、狀態定義、優化技巧和程式碼示例。同時分析了時間複雜度、空間複雜度和關鍵知識點。這是LeetCode的一個應用題,類似於Word Break I的延伸。
Thumbnail
題目敘述 輸入給定一個鏈結串列的head node。 要求我們進行化簡,只要某個節點的右手邊存在比較大的節點,就刪除掉。 例如 5->2->13->3 5的右手邊有13,所以5刪除掉。 2的右手邊有13,所以2刪除掉。 13的右手邊沒有更大的節點,所以13留著。 3的右手邊沒有更大
Thumbnail
題目敘述 輸入給定一個鏈結串列的head node。 要求我們進行化簡,只要某個節點的右手邊存在比較大的節點,就刪除掉。 例如 5->2->13->3 5的右手邊有13,所以5刪除掉。 2的右手邊有13,所以2刪除掉。 13的右手邊沒有更大的節點,所以13留著。 3的右手邊沒有更大
Thumbnail
題目敘述 題目會給定我們兩個字串。 第一個是指定順序的字串order。 第二個是輸入字串s。 要求我們依據order給定的順序,重新排列s。 如果出現order中沒有出現的字母,任意位置皆可。 合法答案可能不只一組,輸出其中一種即可。 題目的原文敘述 測試範例 Example
Thumbnail
題目敘述 題目會給定我們兩個字串。 第一個是指定順序的字串order。 第二個是輸入字串s。 要求我們依據order給定的順序,重新排列s。 如果出現order中沒有出現的字母,任意位置皆可。 合法答案可能不只一組,輸出其中一種即可。 題目的原文敘述 測試範例 Example
Thumbnail
題目敘述 題目會給我們一個字串s。 要求我們移除字串中的星號,還有刪除星號左手邊最靠近的第一個字元。 以字串的形式返回輸出答案。 題目的原文敘述 測試範例 Example 1: Input: s = "leet**cod*e" Output: "lecoe" Explanation:
Thumbnail
題目敘述 題目會給我們一個字串s。 要求我們移除字串中的星號,還有刪除星號左手邊最靠近的第一個字元。 以字串的形式返回輸出答案。 題目的原文敘述 測試範例 Example 1: Input: s = "leet**cod*e" Output: "lecoe" Explanation:
Thumbnail
題目敘述 題目會給定一個輸入字串s和一套編碼規則,要求我們針對字串s進行解碼,並且以字串的形式返回答案。 編碼規則: 數字[字串] -> []內的字串以對應倍數做展開,而且允許巢狀編碼。 例如: 3[a] 解碼完就是 aaa 2[bc] 解碼完就是 bcbc 2[a2[b]] = 2
Thumbnail
題目敘述 題目會給定一個輸入字串s和一套編碼規則,要求我們針對字串s進行解碼,並且以字串的形式返回答案。 編碼規則: 數字[字串] -> []內的字串以對應倍數做展開,而且允許巢狀編碼。 例如: 3[a] 解碼完就是 aaa 2[bc] 解碼完就是 bcbc 2[a2[b]] = 2
Thumbnail
題目敘述 題目會給我們兩個輸入,字串s和字串t,要求我們判定s是否為t的子序列(Subsequence)? 題目的原文敘述 測試範例 Example 1: Input: s = "abc", t = "ahbgdc" Output: true Example 2: Input:
Thumbnail
題目敘述 題目會給我們兩個輸入,字串s和字串t,要求我們判定s是否為t的子序列(Subsequence)? 題目的原文敘述 測試範例 Example 1: Input: s = "abc", t = "ahbgdc" Output: true Example 2: Input:
Thumbnail
題目敘述 題目會給定我們兩個字串word1 和 word2。 允許我們不限制次數進行下列兩種操作: 任意調換其中兩個字元的位置。 把字串中的某個字元全部置換成另一個字元,同時把另一個字元同時置換成某個字元。(例如把字串中原本的a都換成b,把原本的b都換成a) 問我們能不能通過上述兩項操作,
Thumbnail
題目敘述 題目會給定我們兩個字串word1 和 word2。 允許我們不限制次數進行下列兩種操作: 任意調換其中兩個字元的位置。 把字串中的某個字元全部置換成另一個字元,同時把另一個字元同時置換成某個字元。(例如把字串中原本的a都換成b,把原本的b都換成a) 問我們能不能通過上述兩項操作,
Thumbnail
題目 : 28. Find the Index of the First Occurrence in a String
Thumbnail
題目 : 28. Find the Index of the First Occurrence in a String
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News