摘要:给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。 正解: class NumMatrix: def __init__(self, matrix: List[List[int]]): if not matrix or
阅读全文
摘要:给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。 错解: 错在给矩阵赋值想的太简单了,切片是那样切没错,但是赋值不能这么赋值 class Solution: def setZeroes(self, matrix: List[List[int]]
阅读全文
摘要:给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。 正解: 这道题太焦心了! class Solution: def findDiagonalOrder(self, matrix: List[List[int]]) -> L
阅读全文
摘要:给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 正解: class Solution: def generateMatrix(self, n: int) -> [[int]]: l, r, t, b = 0, n -
阅读全文
摘要:给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 正解: class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: if not matrix: retur
阅读全文
摘要:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 正解: class Solution: def rotate(self, nums: List[int], k: int) -> None: """ Do not return anything, modify nums in-
阅读全文
摘要:给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。 在执行给定的一系列操
阅读全文
摘要:给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行 正解: 之前写错了是因为没有正确理解第k行,在杨辉三角里是从0行开始算起的;还有就是,index==0时原来返回的是[[1]]而不是[1],是因为没有正确读懂题,题目要求返回的是第k行的值,而不是杨辉三角本身。 class Solu
阅读全文
摘要:给定一位研究者论文被引用次数的数组(被引用次数是非负整数)。编写一个方法,计算出研究者的 h 指数。 h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (N 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 N - h 篇论
阅读全文