LeetCode
文章平均质量分 77
LeetCode算法题解、刷题
长路 ㅤ
大四,Java后端,算法。目前正在准备春招,求内推~
展开
-
LeetCode、901. 股票价格跨度【中等,单调栈】
LeetCode、901. 股票价格跨度【中等,单调栈】题目内容:设计一个算法收集某些股票的每日报价,并返回该股票当日价格的 跨度 。当日股票价格的 跨度 被定义为股票价格小于或等于今天价格的最大连续日数(从今天开始往回数,包括今天)。例如,如果未来 7 天股票的价格是 [100,80,60,70,60,75,85],那么股票跨度将是 [1,1,1,2,1,4,6] 。实现 StockSpanner 类:StockSpanner() 初始化类对象。int next(int price)原创 2024-02-13 21:53:00 · 1073 阅读 · 0 评论 -
LeetCode、739. 每日温度【中等,单调栈】
LeetCode、739. 每日温度【中等,单调栈】题目内容:给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。原创 2024-02-13 21:50:22 · 981 阅读 · 0 评论 -
LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】
LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】题目内容:有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] = [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。一支弓箭可以沿着 x 轴从不同点 完全垂直 地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend原创 2024-02-13 21:46:57 · 879 阅读 · 0 评论 -
LeetCode、435. 无重叠区间【中等,贪心 区间问题】
LeetCode、435. 无重叠区间【中等,贪心 区间问题】题目内容:给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。原创 2024-02-13 21:44:14 · 840 阅读 · 0 评论 -
LeetCode、1268. 搜索推荐系统【中等,前缀树+优先队列、排序+前缀匹配】
LeetCode、208. 实现 Trie (前缀树)【中等,自定义数据结构】题目内容:给你一个产品数组 products 和一个字符串 searchWord ,products 数组中每个产品都是一个字符串。请你设计一个推荐系统,在依次输入单词 searchWord 的每一个字母后,推荐 products 数组中前缀与 searchWord 相同的最多三个产品。如果前缀相同的可推荐产品超过三个,请按字典序返回最小的三个。请你以二维列表的形式,返回在输入 searchWord 每个字母后相应的推原创 2024-02-13 21:41:48 · 1151 阅读 · 0 评论 -
LeetCode、208. 实现 Trie (前缀树)【中等,自定义数据结构】
LeetCode、208. 实现 Trie (前缀树)【中等,自定义数据结构】题目内容:Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现 Trie 类:Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word 。boolean search(String word) 如果字符串 word 在前缀树中,返回 true(原创 2024-02-13 21:33:40 · 714 阅读 · 0 评论 -
LeetCode、1318. 或运算的最小翻转次数【中等,位运算】
LeetCode、1318. 或运算的最小翻转次数【中等,位运算】题目内容:给你三个正整数 a、b 和 c。你可以对 a 和 b 的二进制表示进行位翻转操作,返回能够使按位或运算 a OR b == c 成立的最小翻转次数。「位翻转操作」是指将一个数的二进制表示任何单个位上的 1 变成 0 或者 0 变成 1 。原创 2024-02-13 21:31:30 · 827 阅读 · 0 评论 -
LeetCode、136. 只出现一次的数字【简单,位运算】
LeetCode、136. 只出现一次的数字【简单,位运算】题目内容:给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。原创 2024-02-13 21:29:04 · 1012 阅读 · 0 评论 -
LeetCode、338. 比特位计数【简单,位运算】
LeetCode、338. 比特位计数【中等,位运算】题目内容:给你一个整数 n ,对于 0原创 2024-02-13 21:26:08 · 848 阅读 · 0 评论 -
LeetCode、72. 编辑距离【中等,二维DP】
LeetCode、72. 编辑距离【中等,二维DP】题目内容:给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符原创 2024-02-13 21:04:57 · 953 阅读 · 0 评论 -
LeetCode、714. 买卖股票的最佳时机含手续费【中等,二维】
LeetCode、714. 买卖股票的最佳时机含手续费【中等,二维DP】题目内容:给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格 ;整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。原创 2024-02-13 20:59:20 · 764 阅读 · 0 评论 -
LeetCode、1143. 最长公共子序列【中等,二维DP】
LeetCode、1143. 最长公共子序列【中等,二维DP】题目内容:给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。原创 2024-02-13 20:56:31 · 1658 阅读 · 0 评论 -
LeetCode、62.不同路径的数目(一)【简单,动态规划或递归】
博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博客目录索引(持续更新)b站-Coder长路。原创 2024-02-05 21:54:40 · 782 阅读 · 0 评论 -
LeetCode、790. 多米诺和托米诺平铺【中等,二维DP,可转一维】
博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博客目录索引(持续更新)b站-Coder长路。原创 2024-02-05 21:53:33 · 1274 阅读 · 0 评论 -
LeetCode、198. 打家劫舍【中等,一维线性DP】
博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博客目录索引(持续更新)b站-Coder长路。原创 2024-02-05 21:52:29 · 1108 阅读 · 0 评论 -
LeetCode、746. 使用最小花费爬楼梯【简单,动态规划 线性DP】
博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博客目录索引(持续更新)b站-Coder长路。原创 2024-02-05 21:50:55 · 891 阅读 · 0 评论 -
LeetCode、1137. 第 N 个泰波那契数【简单,动态规划】
博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博客目录索引(持续更新)b站-Coder长路。原创 2024-02-05 21:49:33 · 823 阅读 · 0 评论 -
LeetCode、216. 组合总和 III【中等,组合型枚举】
博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博客目录索引(持续更新)b站-Coder长路。原创 2024-02-05 21:48:26 · 1106 阅读 · 0 评论 -
LeetCode、17. 电话号码的字母组合【中等,dfs回溯】
博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博客目录索引(持续更新)b站-Coder长路。原创 2024-02-05 21:47:26 · 1520 阅读 · 0 评论 -
LeetCode、875. 爱吃香蕉的珂珂【中等,最小速度二分】
LeetCode、875. 爱吃香蕉的珂珂【中等,最小速度二分】题目:珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。如果这堆香蕉少于 k 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。 珂珂喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。返回她可以在 h 小时内吃掉所有香蕉的最小速度 k(k 为整数)。原创 2024-01-23 00:16:52 · 617 阅读 · 0 评论 -
LeetCode、162. 寻找峰值【中等,最大值、二分】
题目:峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。你必须实现时间复杂度为 O(log n) 的算法来解决此问题。原创 2024-01-19 22:56:32 · 923 阅读 · 0 评论 -
LeetCode、2300. 咒语和药水的成功对数【中等,排序+二分】
给你两个正整数数组 spells 和 potions ,长度分别为 n 和 m ,其中 spells[i] 表示第 i 个咒语的能量强度,potions[j] 表示第 j 瓶药水的能量强度。同时给你一个整数 success 。一个咒语和药水的能量强度 相乘 如果 大于等于 success ,那么它们视为一对 成功 的组合。请你返回一个长度为 n 的整数数组 pairs,其中 pairs[i] 是能跟第 i 个咒语成功组合的 药水 数目。原创 2024-01-19 22:51:04 · 977 阅读 · 0 评论 -
LeetCode、374. 猜数字大小【简单,二分】
博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博客目录索引(持续更新)b站-Coder长路。原创 2024-01-19 22:44:31 · 635 阅读 · 0 评论 -
LeetCode、2462. 雇佣 K 位工人的总代价【中等,最小堆+双指针】
其中costs中表示有n个工人的代价、k表示我们要选拔k轮,每轮选拔1个人、candidates则是每一轮在costs中的前candidates人与最后candidates人中去挑选一个最小代价,最终我们要找到k个最小代价的和。最小堆中,我们使用一个数组来表示是分别存储的是值、索引、左右,每次移出一个最小元素时,我们可以得知是左边还是右边,最终再设置左右边界值,那么我们就可以每次去根据出堆的元素来判断添加入堆的元素是左边开始还是右边开始的。首先理解题意,有三个传参:costs、k、candidates。原创 2024-01-18 23:42:49 · 429 阅读 · 0 评论 -
LeetCode、2542. 最大子序列的分数【中等,排序+小顶堆】
博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。博客目录索引(持续更新)b站-Coder长路。原创 2024-01-17 20:54:53 · 628 阅读 · 0 评论 -
牛客-寻找第K大、LeetCode215. 数组中的第K个最大元素【中等】
题目内容:有一个整数数组,请你根据快速排序的思路,找出数组中第 k 大的数。给定一个整数数组 a ,同时给定它的大小n和要找的 k ,请返回第 k 大的数(包括重复的元素,不用去重),保证答案存在。在快排的过程中不断的找到对应的基准点,然后以这个基准点比较k(基准点的左边是>该基准点的,这样我们才能将基准点的索引与第k大的索引来进行比较)整理者:长路 时间:2024.1.14-15。思路:快排+二分+随机基准点。类型:大顶堆、快排+二分。原创 2024-01-16 20:51:35 · 488 阅读 · 0 评论 -
LeetCode、2336. 无限集中的最小数字(中等,小顶堆)
对于其中的无限正整数,我们可以使用一个变量thres来定义,初始值为1,是否需要提前将大量的数字填充到集合中呢?上面的思路有了,那么还要注意的一点就是在进行addBack时要防止num原创 2024-01-16 20:38:41 · 497 阅读 · 0 评论