相合_vinegar
码龄4年
关注
提问 私信
  • 博客:81,871
    81,871
    总访问量
  • 111
    原创
  • 2,154,316
    排名
  • 175
    粉丝
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2020-10-05
博客简介:

qq_51329170的博客

查看详细资料
个人成就
  • 获得54次点赞
  • 内容获得14次评论
  • 获得65次收藏
创作历程
  • 112篇
    2022年
成就勋章
TA的专栏
  • 力扣专题总汇
    19篇
  • ssm内容
    1篇
兴趣领域 设置
  • Java
    java
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

178人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Day90(二叉树)

98、验证二叉搜索树450、删除二叉搜索树中的节点701、二叉搜索树中的插入操作
原创
发布博客 2022.06.02 ·
249 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

Day89(每日一题&二叉树)

442、数组中重复的数据给你一个长度为n的整数数组nums,其中nums的所有整数都在范围[1, n]内,且每个整数出现一次或两次。请你找出所有出现两次的整数,并以数组形式返回。你必须设计并实现一个时间复杂度为O(n)且仅使用常量额外空间的算法(空间复杂度为O(1))解决此问题需要注意的是,遍历数组nums的过程中,遍历到的元素num可能已经被改成负数,因此在计算下标index时需要对num取绝对值然后减1class Solution { p...
原创
发布博客 2022.05.09 ·
603 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Day88(二叉树)

113、路径总和 II给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。回溯算法和二叉树的结合class Solution { List<List<Integer>>res=new ArrayList<>(); List<Integer>list=new ArrayList<>(); public List<List&l...
原创
发布博客 2022.05.06 ·
289 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Day87(二叉树、滑动窗口)

106、从中序与后序遍历序列构造二叉树给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。细节1://利用后序遍历可得后序遍历的最后一个结点为根结点int rootValue=postorder[postEnd-1];不能使用postorder[postorder.length-1] 因为是递归,而每一次的根结点都会变化的,所以应该使用postEnd-1来.
原创
发布博客 2022.05.05 ·
944 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Day86(二叉树——广度遍历)

103、二叉树的锯齿形层序遍历给你二叉树的根节点root,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。自上到下遍历,设根结点为第一层,那么当层数为奇数时,是从左到右遍历;当层数为偶数时,是从右到左遍历。if(deep%2==0) Collections.reverse(list);class Solution { public List<List<Integer>> zigzagLev...
原创
发布博客 2022.05.04 ·
1033 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Day85(二叉树的层序遍历、滑动窗口)

908、最小差值 I其中x是一个范围为[-k, k]的整数。对于每个索引i,最多只能应用一次此操作。当最小值加上k比最大值减去k还要大,那么说明最小值可以通过调节k的值(k∈[-k, k])使得两者最大值减最小值为0。故当min>max时,直接return 0【例子:示例3】class Solution { public int smallestRangeI(int[] nums, int k) { int max= Arrays.st...
原创
发布博客 2022.05.03 ·
748 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Day84(滑动窗口)

3、无重复字符的最长子串给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。注意细节:① 因为k-v k:字符 v:字符出现的索引位置。所以收缩窗口left是根据重复的字符的位置来,并不是直接++②left根据字符索引出现的位置上+1,并且不能后退。故left=Math.max(left,map.get(c)+1)【例子:abba】③max=Math.max(max,right-left);//不能写在if条件里,因为当s.length==1的时候,就只有一个字...
原创
发布博客 2022.04.29 ·
459 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Day83(滑动窗口)

滑动窗口详解 - 知乎 (zhihu.com)438、找到字符串中所有字母异位词给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。class Solution { public List<Integer> findAnagrams(String s, String p) { List<Integer>list=ne...
原创
发布博客 2022.04.28 ·
105 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

力扣题型总汇——滑动窗口

滑动窗口算法基本原理与实践 - huansky - 博客园 (cnblogs.com)滑动窗口算法在一个特定大小的字符串或数组上进行操作,而不在整个字符串和数组上操作,这样就降低了问题的复杂度,从而也达到降低了循环的嵌套深度。其实这里就可以看出来滑动窗口主要应用在数组和字符串上。这里采用的是字符串来讲解。但是对于数组其实也是一样的。滑动窗口算法的思路是这样: 我们在字符串 S 中使用双指针中的左右指针技巧,初始化 left = right = 0,把索引闭区间 [left, right] 称为
原创
发布博客 2022.04.27 ·
367 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Day82(栈,优先级队列)

42、接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。暴力法class Solution { public int trap(int[] height) { int sum=0; for(int i=0;i<height.length;i++){ //第一个柱子和最后一个柱子不接雨水 if(i==0||i==height.length-1).
原创
发布博客 2022.04.26 ·
198 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

力扣题型总汇——栈和队列

由于栈结构的特殊性,非常适合处理对称匹配类的问题。最近相关性考虑栈 栈的特点先进后出栈还可以解决逆波兰表达式栈(Stack)——先进后出:stack<Integer>stack=new Stack<>();栈常用方法:1.boolean isEmpty( ):判断栈是否为空2.Object peek( ):返回位于栈顶的元素,但是并不在堆栈中删除它。3.Object pop( ):返回位于栈顶的元素,并在栈中删除它。——出栈4.Object push (Object e.
原创
发布博客 2022.04.25 ·
544 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Day81(动态规划、十叉树遍历)

64、最小路径和给定一个包含非负整数的mxn网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。推导公式:dp[i][j]+=Math.min(dp[i][j-1],dp[i-1][j])+grid[i][j];class Solution { //注意是n行m列的矩阵,n和m可以不相等!!! public int minPathSum(int[][] grid) { int [][]...
原创
发布博客 2022.04.22 ·
448 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Day80(动态规划——回文子串、打家劫舍)

647、回文子串给你一个字符串s,请你统计并返回这个字符串中回文子串的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。class Solution { public int countSubstrings(String s) { boolean [][]dp=new boolean[s.length()+1][...
原创
发布博客 2022.04.15 ·
123 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Day79(动态规划——子序列之编辑距离、回文子序列)

72、编辑距离给你两个单词word1和word2,请返回将word1转换成word2所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符 删除一个字符 替换一个字符dp[i][j]表示:i表示word1的长度,j表示word2的长度,word1的前i个字母转换成word2的前j个字母所使用的最少操作。递推公式里:如果不相等,三种情况——1.去word1里删除,那么最少操作次数有+1word1.charAt(i-1)!=word2.charAt(...
原创
发布博客 2022.04.14 ·
173 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Day78(动态规划——子序列)

392、判断子序列给定字符串s和t,判断s是否为t的子序列。(例如,"ace"是"abcde"的一个子序列,而“aec”不是)法一:双指针法二:动态规划dp[i][j]:表示字符串A的前i个[0,i)元素和字符串B的前j个[0,j)元素最长公共子序列为dp[i][j]class Solution { public boolean isSubsequence(String s, String t) { int[][]dp=new int[s...
原创
发布博客 2022.04.13 ·
815 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Day77(动态规划——子序列)

674、最长连续递增序列给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l],nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。因为要求的是连续的递增的子序列,所以nums[i]只需要和nums[i-1]比较大小,d
原创
发布博客 2022.04.12 ·
306 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

SSM框架

JAVA的三大框架是什么? - 知乎 (zhihu.com)什么是ssm框架? - 知乎 (zhihu.com)
转载
发布博客 2022.04.11 ·
86 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Day76(动态规划——子序列问题)

6037、按奇偶性交换后的最大数字给你一个正整数 num 。你可以交换 num 中 奇偶性 相同的任意两位数字(即,都是奇数或者偶数)。第一次看错题了,以为是奇偶索引class Solution { public int largestInteger(int num) { //暴力 //每次找到的数字若为偶数,则向后遍历,寻找更大的偶数,若存在,则交换位置,否则不做处理 //每次找到的数字若为奇数,则向后遍历,寻找更大的奇数,若存在.
原创
发布博客 2022.04.11 ·
490 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Day75(完全背包)

279、完全平方数给你一个整数n,返回和为n的完全平方数的最少数量。完全平方数是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9和16都是完全平方数,而3和11不是。物品重量是i*i,所以遍历背包容量时,从物品重量i*i开始遍历class Solution { public int numSquares(int n) { //完全背包问题——最值问题 //背包容量:n 物品重量...
原创
发布博客 2022.04.09 ·
350 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Day74(完全背包练习以及01背包的复习)

1094、最后一块石头的重量 II(01背包)有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果x == y,那么两块石头都会被完全粉碎; 如果x != y,那么重量为x的石头将会完全粉碎,而重量为y的石头新重量为y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就...
原创
发布博客 2022.04.08 ·
397 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多