中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

西安做百度網(wǎng)站的上海職業(yè)技能培訓機構(gòu)一覽表

西安做百度網(wǎng)站的,上海職業(yè)技能培訓機構(gòu)一覽表,手術(shù)室專科建設(shè)網(wǎng)站,網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣微信網(wǎng)站目錄 36. 有效的數(shù)獨54. 螺旋矩陣48. 旋轉(zhuǎn)圖像73. 矩陣置零289. 生命游戲 36. 有效的數(shù)獨 LeetCode_link 請你判斷一個 9 x 9 的數(shù)獨是否有效。只需要 根據(jù)以下規(guī)則 ,驗證已經(jīng)填入的數(shù)字是否有效即可。 數(shù)字 1-9 在每一行只能出現(xiàn)一次。 數(shù)字 1-9 在每一列只能出現(xiàn)…

目錄

  • 36. 有效的數(shù)獨
  • 54. 螺旋矩陣
  • 48. 旋轉(zhuǎn)圖像
  • 73. 矩陣置零
  • 289. 生命游戲

36. 有效的數(shù)獨

LeetCode_link


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

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

注意
一個有效的數(shù)獨(部分已被填充)不一定是可解的。
只需要根據(jù)以上規(guī)則,驗證已經(jīng)填入的數(shù)字是否有效即可。
空白格用 '.' 表示。

示例 1

輸入:board = 
[["5","3",".",".","7",".",".",".","."]
,["6",".",".","1","9","5",".",".","."]
,[".","9","8",".",".",".",".","6","."]
,["8",".",".",".","6",".",".",".","3"]
,["4",".",".","8",".","3",".",".","1"]
,["7",".",".",".","2",".",".",".","6"]
,[".","6",".",".",".",".","2","8","."]
,[".",".",".","4","1","9",".",".","5"]
,[".",".",".",".","8",".",".","7","9"]]

輸出:true

示例 2

輸入:board = 
[["8","3",".",".","7",".",".",".","."]
,["6",".",".","1","9","5",".",".","."]
,[".","9","8",".",".",".",".","6","."]
,["8",".",".",".","6",".",".",".","3"]
,["4",".",".","8",".","3",".",".","1"]
,["7",".",".",".","2",".",".",".","6"]
,[".","6",".",".",".",".","2","8","."]
,[".",".",".","4","1","9",".",".","5"]
,[".",".",".",".","8",".",".","7","9"]]

輸出:false
解釋:除了第一行的第一個數(shù)字從 5 改為 8 以外,空格內(nèi)其他數(shù)字均與 示例1 相同。 但由于位于左上角的 3x3 宮內(nèi)有兩個 8 存在, 因此這個數(shù)獨是無效的。

提示
board.length == 9
board[i].length == 9
board[i][j] 是一位數(shù)字(1-9)或者 '.'


思路:統(tǒng)計數(shù)字的出現(xiàn)次數(shù),一旦出現(xiàn)超過一次,就失敗。注意這個題不需要判斷題是否有解。

class Solution {
public:bool isValidSudoku(vector<vector<char>>& board) {int rows[9][9] = {0};int cols[9][9] = {0};int inside[9][9] = {0};for(int i = 0; i < 9; i ++){for(int j = 0; j < 9; j++){if(board[i][j] < '0' || board[i][j] > '9')  continue;int num = board[i][j] - '0';//行if(rows[i][num - 1] > 0){return false;}else{rows[i][num - 1] ++;}//列if(cols[j][num - 1] > 0){return false;}else{cols[j][num - 1] ++;}//內(nèi)if(inside[(i/3)*3 + j/3][num - 1] > 0){return false;}else{inside[(i/3)*3 + j/3][num - 1] ++;}}}return true;}
};

54. 螺旋矩陣

LeetCode_link


給你一個 mn 列的矩陣 matrix ,請按照 順時針螺旋順序 ,返回矩陣中的所有元素。

示例 1
在這里插入圖片描述
輸入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
輸出:[1,2,3,6,9,8,7,4,5]

示例 2
在這里插入圖片描述
輸入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
輸出:[1,2,3,4,8,12,11,10,9,5,6,7]

提示
m == matrix.length
n == matrix[i].length
1 <= m, n <= 10
-100 <= matrix[i][j] <= 100


思路:一圈圈來

class Solution {
public:vector<int> spiralOrder(vector<vector<int>>& matrix) {int row = matrix.size(), col = matrix[0].size();int circle = min((row + 1) / 2, (col + 1) / 2);vector<int> temp, rec;for(int i = 0; i < circle; i++){temp = one_circle(matrix ,row, col, i);rec.insert(rec.end(), temp.begin(), temp.end());}return rec;}vector<int> one_circle(vector<vector<int>>& matrix, int row, int col, int circle){int i = circle, j = circle;vector<int> rec;rec.push_back(matrix[i][j]);while(j < col - circle - 1){ //向右j ++;rec.push_back(matrix[i][j]);}while(i < row - circle - 1){ //向下i ++;rec.push_back(matrix[i][j]);}while(row - circle * 2 >= 2 && j > circle){ //向左(如果行是1,就不走了)j --;rec.push_back(matrix[i][j]);}while(col - circle * 2 >= 2 && i > circle + 1){ //向上(如果列是1,就不走了)i --;rec.push_back(matrix[i][j]);}return rec;}
};

48. 旋轉(zhuǎn)圖像

LeetCode_link


給定一個 n × n 的二維矩陣 matrix 表示一個圖像。請你將圖像順時針旋轉(zhuǎn) 90 度。

你必須在 原地 旋轉(zhuǎn)圖像,這意味著你需要直接修改輸入的二維矩陣。請不要 使用另一個矩陣來旋轉(zhuǎn)圖像。

示例 1
在這里插入圖片描述
輸入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
輸出:[[7,4,1],[8,5,2],[9,6,3]]

示例 2
在這里插入圖片描述
輸入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
輸出:[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

提示
n == matrix.length == matrix[i].length
1 <= n <= 20
-1000 <= matrix[i][j] <= 1000


思路:四角旋轉(zhuǎn)

class Solution {
public:void rotate(vector<vector<int>>& matrix) {int row = matrix.size();int circle = ceil((row + 1) / 2);for(int i = 0; i < circle; i ++){turn_one_circle(matrix, row, i);}}void turn_one_circle(vector<vector<int>>& matrix, int row, int circle){int temp;row -= 1;for(int i = 0; i < row - circle * 2; i++){temp = matrix[circle][circle + i];matrix[circle][circle + i] = matrix[row - circle - i][circle];matrix[row - circle - i][circle] = matrix[row - circle][row - circle - i];matrix[row - circle][row - circle - i] = matrix[circle + i][row - circle];matrix[circle + i][row - circle] = temp;}}
};

也可以先水平旋轉(zhuǎn),再主對角線旋轉(zhuǎn)

73. 矩陣置零

LeetCode_link


給定一個 m x n 的矩陣,如果一個元素為 0 ,則將其所在行和列的所有元素都設(shè)為 0 。請使用 原地 算法。

示例 1
在這里插入圖片描述
輸入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
輸出:[[1,0,1],[0,0,0],[1,0,1]]

示例 2
在這里插入圖片描述
輸入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
輸出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

提示
m == matrix.length
n == matrix[0].length
1 <= m, n <= 200
-231 <= matrix[i][j] <= 231 - 1


思路:使用標記數(shù)組,一個記錄行,一個記錄列

class Solution {
public:void setZeroes(vector<vector<int>>& matrix) {int m = matrix.size(), n = matrix[0].size();vector<int> row(m);vector<int> col(n);for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(matrix[i][j] == 0){row[i] = 1;col[j] = 1;}}}for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(row[i] == 1 || col[j] == 1){matrix[i][j] = 0;}}}}
};

289. 生命游戲

LeetCode_link


根據(jù) 百度百科 , 生命游戲 ,簡稱為 生命 ,是英國數(shù)學家約翰·何頓·康威在 1970 年發(fā)明的細胞自動機。

給定一個包含 m × n 個格子的面板,每一個格子都可以看成是一個細胞。每個細胞都具有一個初始狀態(tài): 1 即為 活細胞 (live),或 0 即為 死細胞 (dead)。每個細胞與其八個相鄰位置(水平,垂直,對角線)的細胞都遵循以下四條生存定律:

  1. 如果活細胞周圍八個位置的活細胞數(shù)少于兩個,則該位置活細胞死亡;
  2. 如果活細胞周圍八個位置有兩個或三個活細胞,則該位置活細胞仍然存活;
  3. 如果活細胞周圍八個位置有超過三個活細胞,則該位置活細胞死亡;
  4. 如果死細胞周圍正好有三個活細胞,則該位置死細胞復活;

下一個狀態(tài)是通過將上述規(guī)則同時應(yīng)用于當前狀態(tài)下的每個細胞所形成的,其中細胞的出生和死亡是同時發(fā)生的。給你 m x n 網(wǎng)格面板 board 的當前狀態(tài),返回下一個狀態(tài)。

示例 1
在這里插入圖片描述
輸入:board = [[0,1,0],[0,0,1],[1,1,1],[0,0,0]]
輸出:[[0,0,0],[1,0,1],[0,1,1],[0,1,0]]

示例 2
在這里插入圖片描述
輸入:board = [[1,1],[1,0]]
輸出:[[1,1],[1,1]]

提示
m == board.length
n == board[i].length
1 <= m, n <= 25
board[i][j]01


思路:使用額外的數(shù)組

class Solution {
public:void gameOfLife(vector<vector<int>>& board) {int m = board.size(), n = board[0].size();int rec[m][n];for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){int live = live_cell(board, i, j);if(board[i][j] == 1){if(live < 2)    rec[i][j] = 0;if(live == 2 || live == 3)  rec[i][j] = 1;if(live > 3)    rec[i][j] = 0;}else{if(live == 3){rec[i][j] = 1;}else{rec[i][j] = 0;}}}}for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){board[i][j] = rec[i][j];}}}int live_cell(vector<vector<int>> board, int now_i, int now_j){int m = board.size(), n = board[0].size();int row[8] = {-1, -1, -1, 0, 0, 1, 1, 1};int col[8] = {-1, 0, 1, -1, 1, -1, 0, 1};int count = 0;for(int k = 0; k < 8; k++){if(now_i + row[k] >= 0 && now_i + row[k] < m && now_j + col[k] >= 0 && now_j + col[k] < n){if(board[now_i + row[k]][now_j + col[k]] == 1){count ++;}}}return count;}
};

思路:不使用額外的數(shù)組,但是使用額外的標記,-1本死但活,2本活但死

class Solution {
public:void gameOfLife(vector<vector<int>>& board) {int m = board.size(), n = board[0].size();for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){int live = live_cell(board, i, j);if(board[i][j] == 1){if(live < 2)    board[i][j] = 2;if(live == 2 || live == 3)  board[i][j] = 1;if(live > 3)    board[i][j] = 2;}else{if(live == 3){board[i][j] = -1;}else{board[i][j] = 0;}}}}for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){if(board[i][j] == -1)   board[i][j] = 1;if(board[i][j] == 2)   board[i][j] = 0;}}}int live_cell(vector<vector<int>> board, int now_i, int now_j){int m = board.size(), n = board[0].size();int row[8] = {-1, -1, -1, 0, 0, 1, 1, 1};int col[8] = {-1, 0, 1, -1, 1, -1, 0, 1};int count = 0;for(int k = 0; k < 8; k++){if(now_i + row[k] >= 0 && now_i + row[k] < m && now_j + col[k] >= 0 && now_j + col[k] < n){if(board[now_i + row[k]][now_j + col[k]] >= 1){count ++;}}}return count;}
};
http://www.risenshineclean.com/news/48956.html

相關(guān)文章:

  • 南昌網(wǎng)站建設(shè)優(yōu)化推廣費用百度指數(shù)分析報告案例
  • 寧波做網(wǎng)站哪家公司好網(wǎng)站設(shè)計公司蘇州
  • 武漢市二手房交易合同備案在那個網(wǎng)站上做呀如何讓網(wǎng)站快速收錄
  • 網(wǎng)站制作 牛商網(wǎng)外鏈查詢工具
  • 手把手教做網(wǎng)站網(wǎng)站優(yōu)化策略
  • 做京東網(wǎng)站需要哪些手續(xù)費企業(yè)推廣app
  • l網(wǎng)站建設(shè)線上營銷手段
  • 國外效果超炫網(wǎng)站北京seo優(yōu)化診斷
  • 河北網(wǎng)站建設(shè)排名優(yōu)化哪家專業(yè)
  • 網(wǎng)站怎樣免費推廣網(wǎng)絡(luò)營銷專業(yè)課程
  • 杭州裝飾網(wǎng)站建設(shè)互聯(lián)網(wǎng)營銷的方法
  • 有什么做動畫的網(wǎng)站seo的英文全稱是什么
  • 男生做網(wǎng)站編輯全球搜是什么公司
  • wordpress 插件 kf5谷歌關(guān)鍵詞優(yōu)化怎么做
  • wex5做視頻網(wǎng)站廣東疫情最新數(shù)據(jù)
  • 太原整站優(yōu)化搜索優(yōu)化軟件
  • 網(wǎng)站cname解析seo排名優(yōu)化培訓網(wǎng)站
  • 百度seo優(yōu)化公司旺道網(wǎng)站排名優(yōu)化
  • python怎么做專門的手機網(wǎng)站百度免費網(wǎng)站制作
  • 微信企業(yè)網(wǎng)站文件外鏈
  • 好看免費的ppt模板下載做百度seo
  • 商務(wù)型企業(yè)網(wǎng)站建設(shè)近期的重大新聞
  • 樂清網(wǎng)站建設(shè)費用網(wǎng)上培訓機構(gòu)
  • 網(wǎng)站加密傳輸怎么做搜索引擎優(yōu)化需要多少錢
  • 瑞麗網(wǎng)站建設(shè)百度網(wǎng)站排名優(yōu)化價格
  • 大連哪家公司做網(wǎng)站網(wǎng)絡(luò)推廣的調(diào)整和優(yōu)化
  • 網(wǎng)站建設(shè)銷售發(fā)展前景seo百家論壇
  • 商城網(wǎng)站 價格濟寧百度推廣價格
  • 做網(wǎng)站前端后端ui什么意思谷歌優(yōu)化排名怎么做
  • 廣東省城鄉(xiāng)建設(shè)和管理委員會網(wǎng)站谷歌瀏覽器下載電腦版