首页
控制台
留言板
分类
时间轴
关于我
Login
Menu
首页
控制台
留言板
分类
时间轴
关于我
十七
Archives
2022 / 02
leetcode74. 搜索二维矩阵
2022-02-25
leetcode
#二分
#中等
分析有题意可知,将矩阵按行排列可化为一个有序数列,可采用二分来寻找目标值,其中中间值的下标为matrix[mid/n][mid%n],n为列数。class Solution {public: bool searchMatrix(vector<vector<int>>&a
leetcode73. 矩阵置零
2022-02-25
leetcode
#图形
#中等
分析用两个一维的标志矩阵来记录行和列的0元素class Solution {public: void setZeroes(vector<vector<int>>& matrix) { int m=matrix.size(),n=matrix[0].
leetcode72. 编辑距离
2022-02-25
leetcode
#dp
#困难
分析与acwing同源,只是要注意下标问题,f[i][j]和word[i],word[j]要对齐class Solution {public: int minDistance(string word1, string word2) { int la=word1.length(),
leetcode71. 简化路径
2022-02-25
leetcode
#字符串
#中等
分析将path按照"/"拆分成字符串temp,如果temp为"."就什么都不干,为".."则弹出ans最后一个,其他情况则加入到ans中。class Solution {public: string simplifyPath(stri
leetcode70. 爬楼梯
2022-02-25
leetcode
#dp
#中等
分析第i层楼梯可从第i-1或第i-2层上来,用f[i]表示到达第i层楼梯的方法,那么f[i]=f[i-1]+f[i-2].class Solution {public: int climbStairs(int n) { int f[n+1]; if(n==1)ret
leetcode67. 二进制求和
2022-02-24
leetcode
#字符串
#中等
先将a,b逆置,然后再运算,最后再逆置即可。class Solution {public: string addBinary(string a, string b) { string ans; reverse(a.begin(),a.end()); r
leetcode66. 加一
2022-02-24
leetcode
#数学
#中等
分析从最后一位开始+1后%10,若得到的值不为0,则说明不需要进位了,直接返回。若到第一位还是需要进位,则首位需要再向前+1。(9999)->(10000)class Solution {public: vector<int> plusOne(vector<int>
leetcode64. 最小路径和
2022-02-24
leetcode
#dp
#中等
分析f[i][j]表示从(0,0)坐标到(i,j)的最小和,每次转移都从f[i-1][j]或者f[i][j-1]转移过来,两者取最小值即可。class Solution {public: int minPathSum(vector<vector<int>>& g
leetcode63. 不同路径 II
2022-02-23
leetcode
#dp
#中等
分析将有障碍的地方路径设置为0即可class Solution {public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int m=obstacleGri
leetcode62. 不同路径
2022-02-23
leetcode
#dp
#中等
分析用f[i][j]表示从(1,1)到(i,j)的路径数,先初始化第一行和第一列的路径数,都只有1种走法。class Solution {public: int uniquePaths(int m, int n) { int f[110][110];//f[i][j]表示从(1,
Previous
31 / 43
Next