• 2024-03-14labuladong_二分查找
    零、二分查找框架funcbinarySearch(nums[]int,targetint)int{left:=0,right:=...for...{mid:=left+(right-left)/2;if(nums[mid]==target){...}elseifnums[mid]<target{left
  • 2024-03-11labuladong_二维数组遍历
    1.二维数组进行旋转,图像顺时针旋转90度1.1我们可以先将 nxn 矩阵 matrix 按照左上到右下的对角线进行镜像对称:然后再对矩阵的每一行进行反转:发现结果就是 matrix 顺时针旋转90度的结果://将二维矩阵原地顺时针旋转90度 //逆时针旋转90度   
  • 2024-03-07labuladong_一/二维数组前缀和
    一维数组前缀和核心思路是我们new一个新的数组 preSum 出来,preSum[i] 记录 nums[0..i-1] 的累加和。看这个 preSum 数组,如果我想求索引区间 [1,4] 内的所有元素之和,就可以通过 preSum[5]-preSum[1] 得出。一维数组前缀和 
  • 2024-02-15栈和队列labuladong
    平衡括号串(⼀)先来个简单的,⼒扣第921题「使括号有效的最少添加」:给你输⼊⼀个字符串s,你可以在其中的任意位置插⼊左括号(或者右括号),请问你最少需要⼏次插⼊才能使得s变成⼀个有效的括号串?⽐如说输⼊s="())(",算法应该返回2,因为我们⾄少需要插⼊两次把s变成"(())
  • 2023-09-15滑动窗口框架:来自 labuladong
    /*滑动窗口算法框架*/voidslidingWindow(strings,stringt){unordered_map<char,int>need,window;for(charc:t)need[c]++;intleft=0,right=0;intvalid=0;while(right<s.size()){//c是将移入窗口的字符
  • 2023-09-15大神:算法变默写
    二级搜索升天词作者:labuladong二分搜索不好记,左右边界让人迷小于等于变小于,mid加一又减一就算这样还没完,return应否再减一信息慢慢刷力扣,AC比率二十一我本将心向明月,奈何明月照沟渠
  • 2023-08-05二维数组花式遍历(旋转,螺旋) [labuladong-刷题打卡 day5]
    矩阵旋转48.旋转图像难点主要在于:用翻转和镜像处理逆反和旋转,和逆转单词一样“难者不会,会者不难”,思路简单镜像的坐标对应关系处理语言特性的利用,不同语言有不同api,实际代码中会有很大不同,但思想一致如果确定矩阵维数,通过线性代数应该可以直接计算答案...classSolution
  • 2023-08-03数组双指针技巧汇总 [labuladong-刷题打卡 day2]
    https://labuladong.github.io/algo/challenge/ji-chu-tiao-zhan/day02/快慢指针26.删除有序数组中的重复项两个指针分别维护符合条件数组和待删除数组,当快指针移动时将符合条件元素插入已完成数组后即可。通过这两天对双指针的练习,可以发现很多双指针算法其实也是一种迭代算
  • 2023-08-03前缀和数组技巧 [labuladong-刷题打卡 day3]
    今天是两道前缀和,主要有一维前缀和和二维前缀和,当然扩充到高维也是可以的,只不过状态转移会相对复杂些。这里直接贴一个动态规划的介绍吧:动态规划要素动态规划概念、特点、经典例题和于其它算法思想的比较前缀和其实是备忘录自底向上动态规划算法的一个典型例子,状态转移方程:一