草庐IT

【leetcode】42. 接雨水

全部标签

【LeetCode】142. 环形链表 II(中等)——代码随想录算法训练营Day04

题目链接:142.环形链表II题目描述给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从0开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。示例1:输入:head=[3,2,0,-4],pos=1输出:返回索引为1的链表节点解释:链表中有一个环,其尾部连接到第二个节点。 示例 2:输入:head

LeetCode hot100 240 搜索二维矩阵

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例1:输入:matrix=[[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]],target=5输出:true示例2:输入:matrix=[[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]],target=20输出:false提

【LeetCode力扣】单调栈解决Next Greater Number(下一个更大值)问题

目录1、题目介绍2、解题思路2.1、暴力破解法2.2、经典NextGreaterNumber问题解法1、题目介绍原题链接:496.下一个更大元素I-力扣(LeetCode)示例1:输入:nums1=[4,1,2],nums2=[1,3,4,2].输出:[-1,3,-1]解释:nums1中每个值的下一个更大元素如下所述:-4,用加粗斜体标识,nums2=[1,3,4,2]。不存在下一个更大元素,所以答案是-1。-1,用加粗斜体标识,nums2=[1,3,4,2]。下一个更大元素是3。-2,用加粗斜体标识,nums2=[1,3,4,2]。不存在下一个更大元素,所以答案是-1。实例2:输入:nums

LeetCode、746. 使用最小花费爬楼梯【简单,动态规划 线性DP】

文章目录前言LeetCode、746.使用最小花费爬楼梯【简单,动态规划线性DP】题目与分类思路资料获取前言博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博主所有博客文件目录索引:博客目录索引(持续更新)视频平台:b站-Coder长路LeetCode、746.使用最小花费爬楼梯【简单,动态规划线性DP】题目与分类题目链接:LeetCode、746.使用最小花费爬楼梯【简单,动态规划线性DP】题目类型:动态规划/线性DP(一维DP)思

LeetCode、198. 打家劫舍【中等,一维线性DP】

文章目录前言LeetCode、198.打家劫舍【中等,一维线性DP】题目及分类思路线性DP(一维)资料获取前言博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博主所有博客文件目录索引:博客目录索引(持续更新)视频平台:b站-Coder长路LeetCode、198.打家劫舍【中等,一维线性DP】题目及分类题目链接:LeetCode、198.打家劫舍分类:动态规划/线性DP思路线性DP(一维)思路说明:首先抓住条件:①无法同时偷连续的两所

【每日一题】6.LeetCode——轮转数组

📚博客主页:爱敲代码的小杨.✨专栏:《JavaSE语法》|《数据结构与算法》❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️🙏小杨水平有限,欢迎各位大佬指点,相互学习进步!文章目录1.题目描述示例1:示例2提示2.思路3.代码1.题目描述给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例2输入:nums=[-1,-

Leetcode面试经典150题刷题记录 —— 一维动态规划篇

Leetcode面试经典150题刷题记录-系列Leetcod面试经典150题刷题记录——数组/字符串篇Leetcod面试经典150题刷题记录——双指针篇Leetcod面试经典150题刷题记录——矩阵篇Leetcod面试经典150题刷题记录——滑动窗口篇Leetcod面试经典150题刷题记录——哈希表篇Leetcod面试经典150题刷题记录——区间篇Leetcod面试经典150题刷题记录——栈篇Leetcod面试经典150题刷题记录——链表篇Leetcod面试经典150题刷题记录——二叉树篇Leetcod面试经典150题刷题记录——二叉树层次遍历篇Leetcod面试经典150题刷题记录——二叉搜

Leetcode刷题第八天-回溯

22:括号生成链接:22.括号生成-力扣(LeetCode)括号是一对,所以每一次递归结束条件是字符串长度=2*n有效括号判断:'('个数==')'个数时,当前必须是'(','('个数==n时,必须是')',其他情况当前位置遍历两边,既可以是'('又可以是')'1classSolution:2defgenerateParenthesis(self,n:int)->List[str]:3ifnotn:return[]4re=[]56self.backtracking(2*n,re,"",0)7returnre8defbacktracking(self,n,re,path,index):9if(l

算法沉淀——前缀和(leetcode真题剖析)

算法沉淀——前缀和01.一维前缀和02.二维前缀和03.寻找数组的中心下标04.除自身以外数组的乘积05.和为K的子数组06.和可被K整除的子数组07.连续数组08.矩阵区域和前缀和算法是一种用于高效计算数组或序列中某个范围内元素之和的技巧。它通过预先计算数组的前缀和,并将这些前缀和保存在辅助数组中,从而在查询某个区间的和时能够以常数时间复杂度进行计算。在实际应用中,前缀和算法经常用于解决与区间和相关的问题,例如子数组和的最大值、最小值、等于目标值的个数等。前缀和的应用能够优化问题的时间复杂度,提高算法的效率。01.一维前缀和题目链接:https://www.nowcoder.com/prac

Leetcode刷题第七天-回溯-哈希

332:重新岸炮行程链接:332.重新安排行程-力扣(LeetCode)机场字典:{起飞机场:[到达机场的列表]}去重:到达机场列表,i>0时,当前机场和上一个机场相等,continue1classSolution:2deffindItinerary(self,tickets:List[List[str]])->List[str]:3if(nottickets):returntickets4targets={}5foriintickets:6if(i[0]notintargets.keys()):targets[i[0]]=[]7targets[i[0]].append(i[1])8forii