當好玩的數獨變燒腦的數獨Valid Sudoku(python解題心得)

更新 發佈閱讀 3 分鐘

學習Python大概一個半月了,老師出Leetcode上的Valid Sudoku當作業給我們練習,也就是寫出一隻程式,檢查9X9的數獨直排、橫排、小宮格是否合理。我覺得是一個很棒的綜合練習:https://leetcode.com/explore/interview/card/top-interview-questions-easy/92/array/769/

會特別想分享心得是因為,數獨是幾乎人人都知道的小遊戲,在以前沒有智慧型手機的時候,數獨也是打發時間的好幫手,但是那時候很疑惑,到底是誰在發明數獨的題目,他每天都要一行一行+一格一格檢查,太辛苦了吧!沒想到檢查數獨正確性對電腦來說,就是幾行程式碼、不到幾秒鐘的事情,真想搭時光機回去跟小時候的自己說:你的擔心是多餘啦🤣

突然想到還沒學Python的時候,我有一陣子在追Netflix的魔鬼的計謀2(The Devil’s Plan: Death Room),裡面的「騎士巡遊」也超級燒腦,那時候我下載相關的手機APP,感覺用起來都不順手,我就叫ChatGPT幫我設計,放去Codepen裡面,能玩!還玩了好幾題XD大概長這樣,就很單純:

vocus|新世代的創作平台

回到9X9數獨,我先梳理邏輯:

第一步--檢查直排

第二步--檢查橫排

第三步--檢查小格(Box)

第一步跟第二步,只要先把邏輯順過就寫得出來;

但是第三步,我卡了很久,都一直只能寫得出最左上角的那一格,鬼打牆!

vocus|新世代的創作平台

向老師請教,才知道原來可以用餘數跟商數的方式去解!(//、%)

把格子想成座標,例如:(0, 0)、(3, 6)也就是每一個小box的左上角那一格,都是一個座標的話,就會發現是0、3、6這三個數字在跳(好神奇啊!)

老師說,若第一次寫這題,只寫得出橫排、直排然後寫不出小box是正常的,原來如此;

雖然這題寫得有點久,還拿紙筆出來塗塗寫寫,不過瞭解了如何解題後,就覺得豁然開朗。讓我學習到,其實大部份的事情都是有邏輯可循的,(也有可能是我數學沒學好🥲)如果可以回到學生時期,我一定好好學數學,現在覺得數學蠻好玩的(咦)

其實也不要想什麼時光倒流的事情,現在有遇到能學習數學的機會,就努力去理解吧!


留言
avatar-img
Galing的腦內劇場
2會員
15內容數
學習AI的新手,在這邊分享學習筆記跟知識,希望文組轉戰AI也可以闖出一片天💪 大學學的是戲劇,擁有服務業12年經驗,擔任銷售顧問;2025.07開始學習python與AI商業應用,目標是讓職涯變得更自由有彈性,做出好玩有趣的東西! 💬喜歡打電動、看動畫、K-pop佛系追星,偶爾可能會出現這些主題的文章。
你可能也想看
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
Thumbnail
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
參加Leetcode的30 Days of Pandas挑戰,除了是學習的機會,更是練習熟悉pandas功能的機會。文章分享了挑戰簡介、題目描述、關鍵技術以及參加挑戰的心得。適合新手學習pandas,也可提升熟練度。
Thumbnail
參加Leetcode的30 Days of Pandas挑戰,除了是學習的機會,更是練習熟悉pandas功能的機會。文章分享了挑戰簡介、題目描述、關鍵技術以及參加挑戰的心得。適合新手學習pandas,也可提升熟練度。
Thumbnail
NumPy在圖像處理、機器學習、數學和統計學等領域中被廣泛應用。 以下是一些常見的應用場景: 數據處理和分析: NumPy提供了高效的多維數組(nd array)和相應的操作函數,使得對大型數據集進行快速、有效的操作變得容易。
Thumbnail
NumPy在圖像處理、機器學習、數學和統計學等領域中被廣泛應用。 以下是一些常見的應用場景: 數據處理和分析: NumPy提供了高效的多維數組(nd array)和相應的操作函數,使得對大型數據集進行快速、有效的操作變得容易。
Thumbnail
本文詳細介紹了Python中的各種資料型別,包括整數、字串、清單、元組、集合和字典,並提供了相關的操作範例。此外,還解釋了如何在Python中定義和操作變數,包括如何同時對多個變數進行賦值。
Thumbnail
本文詳細介紹了Python中的各種資料型別,包括整數、字串、清單、元組、集合和字典,並提供了相關的操作範例。此外,還解釋了如何在Python中定義和操作變數,包括如何同時對多個變數進行賦值。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文將介紹如何用Python繪製群組直條圖。
Thumbnail
本文將介紹如何用Python繪製群組直條圖。
Thumbnail
本文介紹了各種運算符的用法和優先級,包括算術運算符、比較運算符、賦值運算符、邏輯運算符、位元運算符、成員運算符和身份運算符。每種運算符都有詳細的描述和示例程式碼,幫助理解其功能和用法。
Thumbnail
本文介紹了各種運算符的用法和優先級,包括算術運算符、比較運算符、賦值運算符、邏輯運算符、位元運算符、成員運算符和身份運算符。每種運算符都有詳細的描述和示例程式碼,幫助理解其功能和用法。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News