Author: 十七

leetcode80. 删除有序数组中的重复项 II

分析用快慢两个指针对数组本身进行覆盖,由于数组有序,如果慢指针-2如果还与fast指针相同说明此时重复元素一定超过2个了,跳过快指针即可class Solution {public: int removeDuplicates(vector<int>& nums) {

十七 Published on 2022-02-26

leetcode79. 单词搜索

分析对每个位置进行dfs遍历,每次dfs搜索时向四个方向拓展,如果超出边界或者已经访问过则放弃这个位置,其他情况再次进行dfs遍历,一直到与单词完全匹配时返回true;typedef pair<int ,int > PII;class Solution {public: int d

十七 Published on 2022-02-26

leetcode78. 子集

分析优秀题解链接class Solution {public: vector<vector<int>> ans; vector<int>path; void dfs(int u,vector<int>& nums){

十七 Published on 2022-02-25

leetcode77. 组合

class Solution {public: vector<vector<int>>ans; vector<int>path; void dfs(int u,int n,int k){ if(path.size()+n-u+1&l

十七 Published on 2022-02-25

leetcode75. 颜色分类

分析选择o(1)的空间复杂度排序即可。class Solution {public: void quick_sort(vector<int>&nums,int l,int r){ if(l>=r)return ; int i=l-1,j=r

十七 Published on 2022-02-25

leetcode74. 搜索二维矩阵

分析有题意可知,将矩阵按行排列可化为一个有序数列,可采用二分来寻找目标值,其中中间值的下标为matrix[mid/n][mid%n],n为列数。class Solution {public: bool searchMatrix(vector<vector<int>>&a

十七 Published on 2022-02-25

leetcode73. 矩阵置零

分析用两个一维的标志矩阵来记录行和列的0元素class Solution {public: void setZeroes(vector<vector<int>>& matrix) { int m=matrix.size(),n=matrix[0].

十七 Published on 2022-02-25

leetcode72. 编辑距离

分析与acwing同源,只是要注意下标问题,f[i][j]和word[i],word[j]要对齐class Solution {public: int minDistance(string word1, string word2) { int la=word1.length(),

十七 Published on 2022-02-25

leetcode71. 简化路径

分析将path按照"/"拆分成字符串temp,如果temp为"."就什么都不干,为".."则弹出ans最后一个,其他情况则加入到ans中。class Solution {public: string simplifyPath(stri

十七 Published on 2022-02-25
Previous Next