思路:先遍历一遍找到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 ...