国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

有效的數(shù)獨(dú),困意十足(P1)

2022-04-27 00:41 作者:幽焰精靈  | 我要投稿

開一個(gè)新坑,隔三岔五記錄自己刷的編程題,出處我也會在最后以鏈接的形式附上。

事先說明,我一般都是使用C++來編寫的,可能偶爾也會用Java,Python或其他的就...算了...吧,我不太會。

今天看到一個(gè)很有意思的題目,題目如下:


LeedCode? 36. 有效的數(shù)組

請你判斷一個(gè) 9 x 9 的數(shù)獨(dú)是否有效。只需要 根據(jù)以下規(guī)則 ,驗(yàn)證已經(jīng)填入的數(shù)字是否有效即可。

數(shù)字 1 - 9 在每一行只能出現(xiàn)一次。

數(shù)字 1 - 9 在每一列只能出現(xiàn)一次。

數(shù)字 1 - 9 在每一個(gè)以粗實(shí)線分隔的 3 x 3 宮內(nèi)只能出現(xiàn)一次。(請參考示例圖)

?

注意:

一個(gè)有效的數(shù)獨(dú)(部分已被填充)不一定是可解的。

只需要根據(jù)以上規(guī)則,驗(yàn)證已經(jīng)填入的數(shù)字是否有效即可。

空白格用 '.' 表示。


相信很多人讀完題目后下意識以為是寫一個(gè)解數(shù)獨(dú)的(而我不是,嘿嘿),但是其實(shí)題目的意思只是判斷當(dāng)前給的數(shù)獨(dú)是不是符合規(guī)則的。

我舉個(gè)例子就懂了(例子也是官方的)

有效的數(shù)獨(dú)

這就是一個(gè)有效的數(shù)獨(dú),因?yàn)槊恳恍小⒚恳涣?、每一個(gè)大格(用粗線分隔開的一大格)都沒有重復(fù)的元素(元素范圍:1 - 9)。

而下面這個(gè)就不是有效的,因?yàn)榈谝涣械牡谝粋€(gè)元素 “8” 和第四個(gè)元素 “8” 就沖突了。(感覺我講了一堆廢話,別罵我QAQ)。

無效的數(shù)獨(dú)


嗯哼

那么題目分析(水)完了,接下來就來講講計(jì)算機(jī)處理的思路了。

(這題應(yīng)該沒有涉及到什么算法,沒錯(cuò)就是你想的暴力求解)

兩種思路:

  • 對于每一種規(guī)則,分別進(jìn)行循環(huán)查找和比對。展開來說就是對于每一行,循環(huán)遍歷每一個(gè)數(shù),判斷當(dāng)前行是否有重復(fù)的數(shù)字,對于每一列、每一大格都是如此。

  • 另一種方法采用空間換時(shí)間,實(shí)現(xiàn)開辟三個(gè) bool 型的二維數(shù)組 xxx[10][10] (其實(shí) 9 就可以,默認(rèn)值為 false ),用來存儲每行、每列、每個(gè)大格對應(yīng)元素 1 - 9 的信息。然后遍歷數(shù)獨(dú)數(shù)組的每一個(gè)點(diǎn),判斷行、列、大格三個(gè)數(shù)組中對應(yīng)的元素是否存在。如果存在,說明數(shù)獨(dú)錯(cuò)誤,直接結(jié)束循環(huán)并輸出;如果不存在,就把行、列、大格三個(gè)數(shù)組中對應(yīng)元素的位置更改為 true,然后繼續(xù)下一個(gè)元素的判斷。

方法一的時(shí)間復(fù)雜度很高,每一行、每一列、每一大格都需要判斷數(shù)字是否兩兩相等,因此我采用的是方法二。

最后附上代碼(C++):

總的來說這道題還是比較簡單的,只要注意數(shù)組處理時(shí)的下標(biāo)位置就行,嘿嘿這不去趕緊上LeedCode做一做(喂...喂?。?! 別跑啊,我真的沒有在打廣告?。?/span>,emmm下次要不研究個(gè)做數(shù)獨(dú)的代碼?

來源:力扣(LeetCode),鏈接:https://leetcode-cn.com/problems/valid-sudoku


有效的數(shù)獨(dú),困意十足(P1)的評論 (共 條)

分享到微博請遵守國家法律
灌阳县| 安顺市| 综艺| 南通市| 吉安县| 广安市| 台南市| 康平县| 南陵县| 徐闻县| 庆元县| 临沧市| 札达县| 白银市| 英吉沙县| 会东县| 文安县| 明溪县| 宁乡县| 沙田区| 石景山区| 铅山县| 嫩江县| 灵璧县| 得荣县| 扎囊县| 龙海市| 集贤县| 宁明县| 高台县| 锡林郭勒盟| 江山市| 凌海市| 香港 | 淄博市| 从化市| 长岭县| 兴山县| 江安县| 平江县| 古丈县|