摘要:
题目链接 解题思路:如何原地,是困难点。我们可以使用原有的矩阵,来存放某些信息。原来的矩阵第一行,matrix[0][i]如果等于0,代表第i列有0,原来的矩阵第一列,matrix[i][0]如果等于0,代表第i列有0。还有一个注意点,就是matrix[0][0]代表什么?这是一个歧义的点,所以不存 阅读全文
posted @ 2024-12-22 21:07
ouyangxx
阅读(45)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:递推公式就是F(n) = F(n - 2) + F(n - 2) 代码 class Solution: def climbStairs(self, n: int) -> int: # 递推公式就是F(n) = F(n - 1) + F(n - 2) if n == 1: retu 阅读全文
posted @ 2024-12-22 19:58
ouyangxx
阅读(16)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:直接暴力找,但是使用二分法暴力找 代码 class Solution: def mySqrt(self, x: int) -> int: # 二分法暴力找 L = 0 R = x ans = -1 while L <= R : mid = (R + L) // 2 if mid 阅读全文
posted @ 2024-12-22 19:55
ouyangxx
阅读(10)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:从后往前遍历,模拟即可 代码 class Solution: def plusOne(self, digits: List[int]) -> List[int]: # 直接在原数组上改 carry = 1 for i in range(len(digits) - 1, -1, - 阅读全文
posted @ 2024-12-22 19:51
ouyangxx
阅读(17)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:数学题,一共要走m + n - 2步,选择其中的n - 1往右走,或者选择其中的m - 1往下走,就是C(n-1)/(n+m-2) 代码 class Solution: def uniquePaths(self, m: int, n: int) -> int: # 计算C(m - 阅读全文
posted @ 2024-12-22 19:41
ouyangxx
阅读(11)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:按照第一维度排序,然后依次遍历,假设现在遍历到i,[begin1, end1],然后i+1是[begin2, end],如果begin2 <= end1,那么二者可以合并成[begin1, max(end1, end2)],因为按照第一维度排序的,所以开头是begin1,结尾注意 阅读全文
posted @ 2024-12-22 19:33
ouyangxx
阅读(21)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:初始能够到达最远的位置max_index是nums[0],然后我们就依次遍历i <= nums[0],然后途中不断更新max_index,如果更新到某一时刻,到达了最后一个下标,返回true,如果「走不动」了,那么就返回false 代码 class Solution: def c 阅读全文
posted @ 2024-12-22 15:49
ouyangxx
阅读(25)
评论(0)
推荐(0)
摘要:
题目链接 解题思路:宏观思路,一圈一圈打,确定好「一圈」的左上角以及右下角,然后再打印。有两种特殊情况,左上角和右上角的列相等时,只需要打一行即可;左上角的列和右下角的列相等时,只需打印一列即可。 代码: from typing import List class Solution: def spi 阅读全文
posted @ 2024-12-22 15:22
ouyangxx
阅读(20)
评论(0)
推荐(0)

浙公网安备 33010602011771号