草庐IT

LeetCode刷题之树

全部标签

【LeetCode 训练营 3,5】无重复字符的最长子串+最长回文子串

 💌博客内容:LeetCode训练营 😀作  者:陈大大陈🚀个人简介:一个正在努力学技术的准前端,专注基础和实战分享,欢迎私信!💖欢迎大家:这里是CSDN,我总结知识和写笔记的地方,喜欢的话请三连,有问题请私信😘😘😘目录3. 无重复字符的最长子串我的思路 源码 5. 最长回文子串我的思路源码 后记3. 无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。示

【牛客刷题HJ16】购物单

目录一、题目描述二、题目分析1、题目理解2、题目分析(1)首先,将物品类准备好(2)然后,对v、p、q进行初始化(3)对动态规划数组进行赋值(填表)三、总结一、题目描述来源:购物单_牛客题霸_牛客网 二、题目分析该题类似于0-1背包问题,关于0-1背包请看0-1背包-动态规划算法_哔哩哔哩_bilibili1、题目理解1、购买附件必须买主件,且一个主件最多有两个附件,每件物品只能购买一次;2、每件物品有三个属性:价格v、重要度p、是主件还是附件q,满意度是价格v和重要度p的数学期望,q为该附件所属主件的编号,q=0表示该物品是主件;3、手中有N元钱,要买m件物品,使得产生的满意度最大。2、题目

LeetCode每日一题——1691. 堆叠长方体的最大高度

LeetCode每日一题系列题目:828.统计子串中的唯一字符难度:困难文章目录LeetCode每日一题系列题目示例思路题解题目给你n个长方体cuboids,其中第i个长方体的长宽高表示为cuboids[i]=[widthi,lengthi,heighti](下标从0开始)。请你从cuboids选出一个子集,并将它们堆叠起来。如果widthi返回堆叠长方体cuboids可以得到的最大高度。示例思路排序加动态规划:首先我们将所有长方体的长宽高按照从小到大的顺序排放,形如[3,4,5]的格式,最大的元素为高度,其他俩任意分为长和宽。在将整个长方体数组按照从小到大的顺序排列,这里默认是按照数组的第一

【蓝桥刷题】——如何轻松拿捏必考数论题?(第三弹)

 大家好,我是爱分享的小蓝,欢迎交流指正~ 全文目录🧭🏆算式900⭐🚀传送锚点 💡思路点拨🍞代码详解  🏆神奇算式⭐⭐🚀传送锚点 💡思路点拨🍞代码详解  🏆带分数⭐⭐⭐🚀传送锚点​​ 💡思路点拨🍞代码详解  🏆算式900⭐🚀传送锚点​(□□□□-□□□□)*□□=900​(5012-4987)*36=900​ 💡思路点拨1、审题:先看题目给出的条件:“这 10 个方块刚好包含了 0 ~ 9 中的所有数字”。2、建模:看到熟悉的题目条件,条件反射全排列函数permutations(╹ڡ╹)3、判断:枚举所有排列情况,用字符串分割出方块a,b,c=int(s[:4]),int(s[4:8]),in

算法leetcode|71. 简化路径(rust重拳出击)

文章目录71.简化路径:样例1:样例2:样例3:样例4:提示:分析:题解:rust:go:c++:python:java:71.简化路径:给你一个字符串path,表示指向某一文件或目录的Unix风格绝对路径(以'/'开头),请你将其转化为更加简洁的规范路径。在Unix风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点(..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠'/'。对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。请注意,返回的规范路径必须遵循下述格式:始终以斜杠'/'开头

3.你所不知道的go语言控制语句——Leetcode习题69

目录本篇前瞻Leetcode习题9题目描述代码编写控制结构顺序结构(Sequence)声明和赋值多返回值赋值运算符算术运算符位运算符逻辑运算分支结构if语句switch语句逻辑表达式fallthrough类型推断循环语句continuebreakgotoLeetcode习题69题目描述题目分析代码编写本篇小结下篇预告本篇前瞻好的,现在你已经来到一个新的小结,在这里你将学习到go语言的重要内容,习得go25个关键字中的12个:var,const,if,else,switch,case,default,fallthrough,for,break,goto,continue,即在顺序结构学习var,

LeetCode 160.相交链表

文章目录💡题目分析💡解题思路🚩步骤一:找尾节点🚩步骤二:判断尾节点是否相等🚩步骤三:找交点🍄思路1🍄思路2🔔接口源码题目链接👉LeetCode160.相交链表👈💡题目分析给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。💡解题思路🚩步骤一:找尾节点 structListNode*tailA=headA;structListNode*tailB=headB;intlenA=1,lenB=1;while(tailA){tailA=tailA->next;lenA++;}while(tailB){tailB=tailB->

LeetCode 21.合并两个有序链表

文章目录💡题目分析💡解题思路🚩思路1:归并排序思想(不使用带哨兵卫的头节点)🔔接口源码:💡解题思路🚩思路2:归并排序思想(使用带哨兵卫的头节点)🔔接口源码:题目链接👉LeetCode21.合并两个有序链表👈💡题目分析将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。💡解题思路🚩思路1:归并排序思想(不使用带哨兵卫的头节点)取小的进行尾插👇图解👇🔔接口源码:structListNode*mergeTwoLists(structListNode*list1,structListNode*list2){ //考虑list1和list2其中一个为空的情况if(

leetcode做题笔记74搜索二维矩阵

给你一个满足下述两条属性的 mxn 整数矩阵:每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的最后一个整数。给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。思路一:直接遍历整个矩阵查找boolsearchMatrix(int**matrix,intmatrixSize,int*matrixColSize,inttarget){for(inti=0;i分析:本题可直接遍历整个矩阵进行查找总结:本题考察矩阵相关操作,使用遍历即可解决

LeetCode 1572. 矩阵对角线元素的和

【LetMeFly】1572.矩阵对角线元素的和力扣题目链接:https://leetcode.cn/problems/matrix-diagonal-sum/给你一个正方形矩阵mat,请你返回矩阵对角线元素的和。请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1:输入:mat=[[1,2,3], [4,5,6], [7,8,9]]输出:25解释:对角线的和为:1+5+9+3+7=25请注意,元素mat[1][1]=5只会被计算一次。示例 2:输入:mat=[[1,1,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]]输出:8示例3:输入: