class Solution:
def isMatch(self, s: str, p: str) -> bool:
# i = s 的指標(小蛇目前走到哪)
# j = p 的指標(迷宮目前在哪個門)
i = 0
j = 0
# star = 記錄最近一次看到的 '*' 在迷宮的位置(像放一個回到大洞的地標)
# match = 小蛇當時的位置(之後如果卡住,回到這裡讓 * 多吃一格)
star = -1
match = 0
# 只要小蛇還沒走完,就一直走
while i < len(s):
# 情況 1:字母一樣 或 迷宮門是 '?'
# → 正常通過一格
if j < len(p) and (p[j] == s[i] or p[j] == '?'):
i += 1 # 小蛇往前一步
j += 1 # 迷宮也往前一步
# 情況 2:遇到 '*' 巨大魔法洞
# → 可以先不決定吞多少,先記下位置
elif j < len(p) and p[j] == '*':
star = j # 記下 * 在迷宮哪裡
match = i # 記下小蛇當時位置
j += 1 # 先把迷宮往前走,假裝 * 吃 0 個
# 情況 3:現在撞牆了!但之前有看過 '*' 可以救場
# → 回頭到 * 那裡,讓 * 多吃一個字
elif star != -1:
j = star + 1 # 迷宮退回 * 的下一格(因為 * 本身不用再看了)
match += 1 # 多吃一個字母
i = match # 小蛇跳到被吃掉後的位置
# 情況 4:啥都不是 → 無法匹配
else:
return False
# 小蛇走完了,但迷宮後面可能還有東西
# 只有 '*' 可以留著(因為 * 可以吞空字串)
while j < len(p) and p[j] == '*':
j += 1
# 如果迷宮也剛好走完 → 完全匹配
return j == len(p)
小蛇走迷宮
留言
留言分享你的想法!
于正龍(Ricky)的沙龍
54會員
86內容數
人工智能工作經驗跟研究
于正龍(Ricky)的沙龍的其他內容
2025/11/30
Sudoku 是經典的 Constraint Problem(約束問題)。
題目要求你把空格 . 填入 1~9,使得:
每一列(row)數字 1~9 各出現一次
每一行(column)數字 1~9 各出現一次
每一個 3×3 box(九宮格)數字 1~9 各出現一次
這種問題最典型
2025/11/30
Sudoku 是經典的 Constraint Problem(約束問題)。
題目要求你把空格 . 填入 1~9,使得:
每一列(row)數字 1~9 各出現一次
每一行(column)數字 1~9 各出現一次
每一個 3×3 box(九宮格)數字 1~9 各出現一次
這種問題最典型
2025/11/29
問題拆解
給定:
字串 s
單詞陣列 words,每個單詞長度相同
我們要找到所有的起始索引,使得從該位置開始的子字串,
正好是 words 裡所有單詞 任意排列 的拼接。
關鍵點:
單詞長度固定,假設為 word_len
words 的總長度是 total_len = word_l

2025/11/29
問題拆解
給定:
字串 s
單詞陣列 words,每個單詞長度相同
我們要找到所有的起始索引,使得從該位置開始的子字串,
正好是 words 裡所有單詞 任意排列 的拼接。
關鍵點:
單詞長度固定,假設為 word_len
words 的總長度是 total_len = word_l

2025/11/23
2025/11/23
你可能也想看














你有想過嗎?如果把你過去一週、甚至一整個月的信用卡帳單全部攤開,會變成什麼畫面?😉
格編最近做了一個小實驗:把每一筆消費都丟到地圖上標記,結果它變成一張非常誠實的「生活熱力圖」。把每一筆刷卡都丟到地圖上之後,哪一條路上出現最多「小點點」,就代表你最常走那一條路;哪一個區塊被畫滿圈圈、標記最多店家

你有想過嗎?如果把你過去一週、甚至一整個月的信用卡帳單全部攤開,會變成什麼畫面?😉
格編最近做了一個小實驗:把每一筆消費都丟到地圖上標記,結果它變成一張非常誠實的「生活熱力圖」。把每一筆刷卡都丟到地圖上之後,哪一條路上出現最多「小點點」,就代表你最常走那一條路;哪一個區塊被畫滿圈圈、標記最多店家

圖文書「走過,才知你的存在平凡又特別:大小貓的相遇旅程」(The Cat Who Taught Zen) 的心得。主角貓貓踏上尋找智慧之旅,過程中遇到不同動物,牠們各自的問題映照出人們生活中常見的煩惱:焦慮、比較、慾望、厭倦等。最後,貓貓領悟到生命本就圓滿,平凡與特別並存,小事的堆疊才是生命的全貌。

圖文書「走過,才知你的存在平凡又特別:大小貓的相遇旅程」(The Cat Who Taught Zen) 的心得。主角貓貓踏上尋找智慧之旅,過程中遇到不同動物,牠們各自的問題映照出人們生活中常見的煩惱:焦慮、比較、慾望、厭倦等。最後,貓貓領悟到生命本就圓滿,平凡與特別並存,小事的堆疊才是生命的全貌。

2023/7/7
小暑 : 二十四節氣第十一個節氣;夏天的第五個節氣。
☀️太陽到達黃經105°時開始
✨意涵: 大暑前哨,氣溫持續攀升從微熱到大熱
🌥天氣: 熱浪來襲,颱風旺季即將到來,對流旺盛常有午後雷陣雨
說到小暑這兩句諺語完美體現了當下天氣
▌小暑過,一日熱三分
▌小暑大暑,上蒸下煮

2023/7/7
小暑 : 二十四節氣第十一個節氣;夏天的第五個節氣。
☀️太陽到達黃經105°時開始
✨意涵: 大暑前哨,氣溫持續攀升從微熱到大熱
🌥天氣: 熱浪來襲,颱風旺季即將到來,對流旺盛常有午後雷陣雨
說到小暑這兩句諺語完美體現了當下天氣
▌小暑過,一日熱三分
▌小暑大暑,上蒸下煮

前一天的馬軍山累到大家噓累累,隔天決定改成埔里走小山頭摸基點行程。水頭山居然有個大正七年的基石耶(開心)!白葉山入口絕佳的山景展望,桃米坑山位於日月大道院後山五星級步道。為了兩個一等點,跑進廢墟裡的戲台下挖土(埔里),或停在路邊的水溝凹洞找(公田溝),這樣基線北和基線南剛好可連成一條線。

前一天的馬軍山累到大家噓累累,隔天決定改成埔里走小山頭摸基點行程。水頭山居然有個大正七年的基石耶(開心)!白葉山入口絕佳的山景展望,桃米坑山位於日月大道院後山五星級步道。為了兩個一等點,跑進廢墟裡的戲台下挖土(埔里),或停在路邊的水溝凹洞找(公田溝),這樣基線北和基線南剛好可連成一條線。

Carey Mulligan、Keira Knightley 和 Andrew Garfield,內斂演技撐起整部電影的深度,複雜情感被憂鬱深深籠罩,流動於 Carey Mulligan 溫柔回憶中,三人互動如此緊密,但處處流露顧忌之情,竟無語凝噎的氛圍瀰漫在渴望愛與陪伴的微弱希望之光,別讓我走。

Carey Mulligan、Keira Knightley 和 Andrew Garfield,內斂演技撐起整部電影的深度,複雜情感被憂鬱深深籠罩,流動於 Carey Mulligan 溫柔回憶中,三人互動如此緊密,但處處流露顧忌之情,竟無語凝噎的氛圍瀰漫在渴望愛與陪伴的微弱希望之光,別讓我走。

隨著食品科技的進步與提升,市面上醬料千百款。但是這一款醬料在微辣中有又帶有微甜的味道,你一定都吃過這款就是萬家香食品公司的海山醬,此款醬料今年已經有七十五年歷史了陪伴大家走過七十五個寒暑 ,記憶中不變的好味道。堪稱是阿公級的醬料始祖。
萬家香海山醬相關資訊::
台北市中山區德惠街9號5樓之六

隨著食品科技的進步與提升,市面上醬料千百款。但是這一款醬料在微辣中有又帶有微甜的味道,你一定都吃過這款就是萬家香食品公司的海山醬,此款醬料今年已經有七十五年歷史了陪伴大家走過七十五個寒暑 ,記憶中不變的好味道。堪稱是阿公級的醬料始祖。
萬家香海山醬相關資訊::
台北市中山區德惠街9號5樓之六

董耀會花508天從山海關走到嘉峪關,成為走完長城的第一人;楊東在五年間去長城兩百多趟,拍了30萬張照片,成了為長城留下最精彩影像的第一人。他們都是「化零為整」「匯多為一」的實踐者,因「整體大於部分之總和」,而有了不一樣的人生。其實一般人如能利用零星的時間去做單一的一件事,積少成多,也能帶來可見成果。

董耀會花508天從山海關走到嘉峪關,成為走完長城的第一人;楊東在五年間去長城兩百多趟,拍了30萬張照片,成了為長城留下最精彩影像的第一人。他們都是「化零為整」「匯多為一」的實踐者,因「整體大於部分之總和」,而有了不一樣的人生。其實一般人如能利用零星的時間去做單一的一件事,積少成多,也能帶來可見成果。









