leetcode基礎演算法 陣列篇 有效的數獨

2021-08-21 23:45:32 字數 732 閱讀 7417

判斷乙個 9x9 的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。

數字1-9在每一行只能出現一次。

數字1-9在每一列只能出現一次。

數字1-9在每乙個以粗實線分隔的3x3宮內只能出現一次。

上圖是乙個部分填充的有效的數獨。

數獨部分空格內已填入了數字,空白格用'.'表示。

思路:就是基本的數獨判斷規則,現在就是按照暴力法遍歷三大遍,在找更有效的方法再更新。

**如下:

class solution ;     //用於檢查的陣列

for(int i=0;i<9;i++) //行檢查

}memset(check,0,sizeof(check));

}for(int j=0;j<9;j++) //列檢查

}memset(check,0,sizeof(check));

}for(int i=0;i<9;i+=3) //塊檢查

for(int j=0;j<9;j+=3)

{for(int k=i;k寫的太麻煩太複雜。

leetcode基礎演算法 陣列篇 移動零

給定乙個陣列nums,編寫乙個函式將所有0移動到陣列的末尾,同時保持非零元素的相對順序。示例 輸入 0,1,0,3,12 輸出 1,3,12,0,0 說明 必須在原陣列上操作,不能拷貝額外的陣列。儘量減少操作次數。思路 原地把所有零移到陣列最後面,保持非零元素次序不變。思路 假設乙個陣列有n個元素 ...

leetcode基礎演算法 陣列篇 兩數求和

leetcode第一題 兩數求和 給定乙個整數陣列和乙個目標值,找出陣列中和為目標值的兩個數。你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 7 9 所以返回 0,1 1.暴力解法 用兩遍...

leetcode 初級演算法 陣列

給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定陣列 nums 1,1,2 函式應該返回新的長度2,並且原陣列 nums 的前兩個元素被修改為1,2...