36、有效的数独 | 算法(leetode,附思维导图 + 全部解法)300题
生活随笔
收集整理的這篇文章主要介紹了
36、有效的数独 | 算法(leetode,附思维导图 + 全部解法)300题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
零 標(biāo)題:算法(leetode,附思維導(dǎo)圖 + 全部解法)300題之(36)有效的數(shù)獨(dú)
前言
1)碼農(nóng)三少 ,一個致力于 編寫極簡、但齊全題解(算法) 的博主。
2)文末附贈 價(jià)值上百美刀 資料。
一 題目描述
二 解法總覽(思維導(dǎo)圖)
三 全部解法
1 方案1
1)代碼:
// 方案1 “遍歷法”。 // 技巧:遍歷1次,看當(dāng)前 行、列、宮(即 boxList 、共 9 個)是否有重復(fù)值。// 思路: // 1)狀態(tài)初始化 // 2)核心:遍歷整個 board ,不斷將 board[i][j] 存入相應(yīng)的數(shù)組里 (rowList、columnList、boxList) // 2.1)必須是非 '.' 才放入3個數(shù)組里 // 2.1.1)若 行、列、宮 中有重復(fù)值,則 直接返回 false // 3)遍歷結(jié)束,返回結(jié)果 true var isValidSudoku = function(board) {// 1)狀態(tài)初始化const rowList = new Array(9).fill(0).map(() => new Array(9).fill(0));const columnList = new Array(9).fill(0).map(() => new Array(9).fill(0));const boxList = new Array(3).fill(0).map(() => new Array(3).fill(0).map(() => new Array(9).fill(0)));// 2)核心:遍歷整個 board ,不斷將 board[i][j] 存入相應(yīng)的數(shù)組里 (rowList、columnList、boxList)for (let i = 0; i < 9; i++) {for (let j = 0; j < 9; j++) {const c = board[i][j];// 2.1)必須是非 '.' 才放入3個數(shù)組里if (c !== '.') {const index = c.charCodeAt() - '0'.charCodeAt() - 1;rowList[i][index]++;columnList[j][index]++;boxList[Math.floor(i / 3)][Math.floor(j / 3)][index]++;// 2.1.1)若 行、列、宮 中有重復(fù)值,則 直接返回 falseif (rowList[i][index] > 1 || columnList[j][index] > 1 || boxList[Math.floor(i / 3)][Math.floor(j / 3)][index] > 1) {return false;}}}}// 3)遍歷結(jié)束,返回結(jié)果 true return true; };四 更多
1 算法通關(guān) + 面試寶典
1)算法通關(guān)40講(極客 -外企大佬講的): 鏈接: https://pan.baidu.com/s/1C175QEmcAunjnCzYzoLBz 提取碼: hjna2)動態(tài)規(guī)劃專題(價(jià)值幾百美刀~):https://www.bilibili.com/video/BV1nt4y1Y7nz3)前端面經(jīng): 3.1)https://www.nowcoder.com/tutorial/96 3.2)https://muyiy.cn/question 3.3)https://hub.fastgit.org/haizlin/fe-interview/blob/master/category/history.md注:若失效請前往VX公眾號: 碼農(nóng)三少 ,發(fā)送關(guān)鍵字: LeetCode 或 算法 ,即可獲取最新的鏈接~2 刷題進(jìn)度
1)LeetCode:307 / 2390 。2)《劍指offer》:66 / 66 。3)相關(guān)學(xué)習(xí)資料與筆記匯總: https://github.com/CYBYOB/algorithm-leetcode/tree/master/資料%26筆記 。4)注:所有題目均有 2-5種 左右的解法,后續(xù)還將不斷更新題目 & 題解。 敬請期待~ 也歡迎大家進(jìn)群一起 學(xué)習(xí)、交流、刷題&拿高薪~3 GitHub - LeetCode項(xiàng)目倉庫
1)本項(xiàng)目地址: https://github.com/CYBYOB/algorithm-leetcode 。 目標(biāo)、愿景: 讓每個人都能擁有一定的算法能力、以應(yīng)對面試中(會舉一反三的同學(xué)還可以將其融入自己的肌肉和血液,甚至能夠賦能于公司的業(yè)務(wù)和技術(shù))的算法。本人每周仍在不斷的更新 —— 保證每周都有新的題目、題解方案刺激著您的神經(jīng) 和 刷題欲望。 歡迎對算法感興趣的同學(xué)加入我們的社群。 QQ群: 933919972 ; 作者QQ: 1520112971 ; 作者VX: c13227839870(可拉您進(jìn)群、一起學(xué)習(xí)與交流~) 。4 作者標(biāo)簽
1)“BAT里1名小小的偽全棧工程師,主攻前端,偶爾寫點(diǎn)后端”。2)2019年的微信小程序應(yīng)用開發(fā)賽 - 全國三等獎; 2019CODA比賽 - 前 17/211 強(qiáng) 且 榮獲“優(yōu)秀團(tuán)隊(duì)”稱號 等。3)“半自媒體人”, 在校期間、個人公眾號(IT三少。新自媒體(公眾號)號: 碼農(nóng)三少 ) 在半年內(nèi)實(shí)現(xiàn)了0到5.8K+的粉絲增長等。總結(jié)
以上是生活随笔為你收集整理的36、有效的数独 | 算法(leetode,附思维导图 + 全部解法)300题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql查询优化count(*)-查询
- 下一篇: win7网络适配器_WIN7笔记本搜不到