思路:先遍歷一遍找到0,然后將其他們的行與列分別記下來。接着再把相應行列置0。 ...
題目: 給定一個 m x n 的矩陣,如果一個元素為 ,則將其所在行和列的所有元素都設為 。請使用原地算法。 思路: 進階: 一個直接的解決方案是使用 O mn 的額外空間,但這並不是一個好的解決方案。一個簡單的改進方案是使用 O m n 的額外空間,但這仍然不是最好的解決方案。你能想出一個常數空間的解決方案嗎 本例是使用額外空間為O m n 的方法,之后會增加常數空間的解決方案。 程序:O m ...
2020-04-22 15:33 0 580 推薦指數:
思路:先遍歷一遍找到0,然后將其他們的行與列分別記下來。接着再把相應行列置0。 ...
題目: 給定一個包含 m x n 個元素的矩陣(m 行, n 列),請按照順時針螺旋順序,返回矩陣中的所有元素。 思路: 使用兩個指針,然后控制好邊界就可以了。 程序: class Solution ...
題目: 給定一個正整數 n,生成一個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。 思路: 是第54題的逆向過程 程序: class Solution ...
題目: 搜索二維矩陣 II:編寫一個高效的算法來搜索 m x n 矩陣 matrix 中的一個目標值 target。該矩陣具有以下特性: 每行的元素從左到右升序排列。 每列的元素從上到下升序排列。 思路: 二分查找常規思路 ...
題目:第75題:給定一個包含紅色、白色和藍色,一共 n 個元素的數組,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色、白色、藍色順序排列。 此題中,我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。 注意: 不能使用代碼庫中的排序函數來解決這道題。 思路 ...
題目: 給定一個大小為 n 的數組,找到其中的多數元素。多數元素是指在數組中出現次數大於 ⌊ n/2 ⌋ 的元素。 你可以假設數組是非空的,並且給定的數組總是存在多數元素。 思路: 使用哈希非常方便 程序 ...
題目: 峰值元素是指其值大於左右相鄰值的元素。 給定一個輸入數組 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素並返回其索引。 數組可能包含多個峰值,在這種情況下,返回任何一個峰值所在位置即可。 你可以假設 nums[-1] = nums[n] = -∞。 說明 ...
題目: 全排列:給定一個 沒有重復 數字的序列,返回其所有可能的全排列。 思路: 使用回溯算法的模板。 程序: class Solution: def permute(self, nums ...