十七

leetcode63. 不同路径 II

分析将有障碍的地方路径设置为0即可class Solution {public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int m=obstacleGri

十七 Published on 2022-02-23

leetcode62. 不同路径

分析用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,

十七 Published on 2022-02-23

leetcode57. 插入区间

分析所有区间都是有序的,每个区间与合并区间有三种关系:1. 在区间左边2 在区间右边3 在区间中间,即有交集class Solution {public: vector<vector<int>> insert(vector<vector<int>&gt

十七 Published on 2022-02-22

leetcode55. 跳跃游戏

分析nums[i]是表示当前位置所能跳的最大步数,那么到达最远处之前的地方都能到达,此时再在这些位置跳过去,所以只需要看最远的位置是否能到达数组末尾。class Solution {public: bool canJump(vector<int>& nums) {

十七 Published on 2022-02-22

leetcode54. 螺旋矩阵

分析每遍历一层,就把这一层削去,控制边界即可实现。class Solution {public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int&

十七 Published on 2022-02-20

leetcode50. Pow(x, n)

分析使用快速幂做法class Solution {public: double myPow(double x, int n) { double ans=1.0; if(x==0)return 0.0; long b=n; if(b&lt

十七 Published on 2022-02-18

leetcode49. 字母异位词分组

分析string排序后的值相同的,可以使用字符串哈希将对应的字符串加进vector中,最后遍历哈希表,得到答案class Solution {public: vector<vector<string>> groupAnagrams(vector<string&gt

十七 Published on 2022-02-18

leetcode48. 旋转图像

思路class Solution {public: void rotate(vector<vector<int>>& matrix) { int n=matrix.size(); for(int i=0;i<n;i++){

十七 Published on 2022-02-17

leetcode47. 全排列 II

思路对比46题,这里有重复数字,[1,2,2]中[1,2,2]和[1,2,2]是相同的,可以将数组排序,然后遇到相同数字时,判断上一个数字是否已经用过,如果用过了,那么就跳过这次循环(相当于去重)。class Solution {public: vector<vector<int&

十七 Published on 2022-02-17

leetcode46. 全排列

class Solution {public: bool flag[10]; vector<vector<int>> ans; vector<int>path; void dfs(vector<int>&nums,int

十七 Published on 2022-02-16
Previous Next