力扣算法学习
文章平均质量分 62
每日学习,希望自己进步。
火眼猊
剑气纵横三万里,一剑光寒十九洲
展开
-
leetcode力扣刷题系列——【座位预约管理系统】
我的方法想的很简单,就是采用列表的形式,可以运行,运行的测试用例也是正确的,但是上传的话会出现超出时间的情况,虽然我运用了for循环,时间复杂度为O(n),但是我认为不是这个导致的,具体为什么,博主太菜了,博主也不知道,有知道的老哥可以分析一下。官方的方法确实很好,但是有一个问题,在提交过后我发现他并不是最优解,他甚至是排在倒数的位置的,那么我们先看官方的方法吧,最后我们在看看其他大神最优的解法是如何做到的。// 可以预约的座位为 [2,3,4,5] ,返回最小编号的座位,也就是 2。原创 2024-09-30 10:38:46 · 623 阅读 · 0 评论 -
leetcode力扣刷题系列——【买票需要的时间】
有 n 个人前来排队买票,其中第 0 人站在队伍 最前方 ,第 (n - 1) 人站在队伍 最后方。在最前面的人买完票后,队伍在第 1 秒变成 [1,1,1,4]。在最前面的人买完票后,队伍在第 1 秒变成 [3,2,1]。队伍一开始为 [5,1,1,1],第 k 个人以下划线标识。继续这个过程,队伍在第 2 秒变为[2,1,2]。继续这个过程,队伍在第 3 秒变为[1,2,1]。继续这个过程,队伍在第 4 秒变为[2,1]。继续这个过程,队伍在第 5 秒变为[1,1]。原创 2024-09-29 11:36:53 · 115 阅读 · 0 评论 -
leetcode力扣刷题系列——【每种字符至少取 K 个】
按照题意所述,从最左和最右侧取走后,原字符串还剩下一个连续的区间,那么可以转化为求一个最长的子区间,使得区间两边的所有字符加起来满足题目要求。当满足题意要求时,显然区间长度越长,取得的字符就越少。所以当右端点 r 固定时,最优的情况是找到一个最小的左端点 l 使得取走的字符最少,并且随着左端点 r 右移动,满足要求的 l 也会往右移动。从 s 的右侧取五个字符,现在共取到四个字符 ‘a’ 、两个字符 ‘b’ 和两个字符 ‘c’。从 s 的左侧取三个字符,现在共取到两个字符 ‘a’ 、一个字符 ‘b’。原创 2024-09-27 16:14:04 · 358 阅读 · 0 评论 -
leetcode力扣刷题系列——【数组元素和与数字和的绝对差】
nums 的数字和是 1 + 1 + 5 + 6 + 3 = 16。nums 的元素和是 1 + 15 + 6 + 3 = 25。注意:两个整数 x 和 y 的绝对差定义为 |x - y|。nums 的元素和是 1 + 2 + 3 + 4 = 10。nums 的数字和是 1 + 2 + 3 + 4 = 10。元素和与数字和的绝对差是 |25 - 16| = 9。元素和与数字和的绝对差是 |10 - 10| = 0。输入:nums = [1,15,6,3]输入:nums = [1,2,3,4]原创 2024-09-26 15:20:17 · 207 阅读 · 0 评论 -
leetcode力扣刷题系列——第一题【两数之和】
给定一个整数数组nums和一个整数目标值target,请你在该数组中找出 和为目标值target的那两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。输入:nums = [3,2,4], target = 6输出:[1,2]原创 2024-09-25 11:01:02 · 392 阅读 · 0 评论