- 博客(20)
- 收藏
- 关注
原创 【LeetCode】力扣刷题之路 (20240729~20240802)
给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。解释: 选择 1 号预约、 3 号预约、 5 号预约和 8 号预约,总时长 = 2 + 4 + 3 + 3 = 12。解释: 选择 1 号预约、 3 号预约和 5 号预约,总时长 = 2 + 9 + 1 = 12。解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。输入: [2,1,4,5,3,1,1,3]输入: [2,7,9,3,1]输入: [1,2,3,1]输入: n = 10。
2024-08-16 17:23:19
210
原创 【LeetCode】力扣刷题之路 (20240722~20240726)
给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好序,整个数组就是有序的。函数返回值为[m,n],若不存在这样的m和n(例如整个数组是有序的),请返回[-1,-1]。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。输入: [1,2,4,7,10,11,7,12,6,7,16,18,19]输入:[1,8,6,2,5,4,8,3,7]返回容器可以储存的最大水量。
2024-07-29 13:46:41
395
原创 【LeetCode】力扣刷题之路 (20240715~20240719)
在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5, 8, 4, 2, 3, 4, 6}中,{8, 6}是峰, {5, 2}是谷。同时,还有 m 个箱子,第 i 个箱子的容量为 capacity[i] 个苹果。输入:apple = [1,3,2], capacity = [4,3,1,5,2]输入:apple = [5,5,5], capacity = [2,4,2,7]输入: [5, 3, 1, 2, 3]输出: [5, 1, 3, 2, 3]
2024-07-19 14:58:16
380
原创 【LeetCode】力扣刷题之路 (20240708~20240712)
解释:偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。输入:cost = [1,100,1,1,1,100,1,1,100,1]– 支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。– 支付 1 ,向上爬两个台阶,到达下标为 4 的台阶。– 支付 1 ,向上爬两个台阶,到达下标为 6 的台阶。– 支付 1 ,向上爬一个台阶,到达下标为 7 的台阶。– 支付 1 ,向上爬两个台阶,到达下标为 9 的台阶。解释:你将从下标为 1 的台阶开始。
2024-07-17 16:00:18
266
原创 【LeetCode】力扣刷题之路 题目(20240624~20240628)
有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。:是求两个数相除的余数。输入:A = 1, B = 10。输入:A = 3, B = 4。
2024-07-05 16:07:55
221
原创 【LeetCode】力扣刷题之路 (20240617~20240621)
给你一个下标从 0 开始的整数数组 tickets ,数组长度为 n ,其中第 i 人想要购买的票数为 tickets[i]。每个人买票都需要用掉。
2024-06-21 15:24:31
784
原创 【LeetCode】力扣刷题之路 (20240611~20240614)
在收养该收容所的动物时,收养人只能收养所有动物中“最老”(由其进入收容所的时间长短而定)的动物,或者可以挑选猫或狗(同时必须收养此类动物中“最老”的)。// requests = [1, 100, 3001, 3002],范围是 [2,3002],返回 3。enqueue方法有一个animal参数,animal[0]代表动物编号,animal[1]代表动物种类,其中 0 代表猫,1 代表狗。dequeue*方法返回一个列表[动物编号, 动物种类],若没有可以收养的动物,则返回[-1,-1]。
2024-06-14 16:26:41
860
原创 【LeetCode】力扣刷题之路 (20240603~20240607)
是图论中的一种重要概念,它描述了各种事物之间的有向关系,由一组节点(或顶点)以及连接这些节点的有向边组成,每条有方向的边都连接着一组顶点。给你一个数组 trust ,其中 trust[i] = [ai, bi] 表示编号为 ai 的人信任编号为 bi 的人。会保留两个操作数中的任何一位的1,只要其中一个是1,结果就是1。:符号 >> ,规则:各二进位全部右移若干位,对无符号数,高位补0,有符号数,右移补1。否则,返回 -1。输入:n = 3, trust = [[1,3],[2,3],[3,1]]
2024-06-07 17:36:10
744
原创 【LeetCode】力扣刷题之路 (20240527~20240531)
给你两个数组 aliceSizes 和 bobSizes ,aliceSizes[i] 是爱丽丝拥有的第 i 盒糖果中的糖果数量,bobSizes[j] 是鲍勃拥有的第 j 盒糖果中的糖果数量。返回一个整数数组 answer,其中 answer[0] 是爱丽丝必须交换的糖果盒中的糖果的数目,answer[1] 是鲍勃必须交换的糖果盒中的糖果的数目。输入:aliceSizes = [1,2,5], bobSizes = [2,4]输入:aliceSizes = [1,1], bobSizes = [2,2]
2024-05-31 13:47:55
629
原创 【LeetCode】力扣刷题之路 (20240520~20240524)
输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]输入:hours = [0,1,2,3,4], target = 2。输入:hours = [5,1,4,2,2], target = 6。请你用整数表示并返回工作至少 target 小时的员工数。员工 0 工作 0 小时,不满足要求。员工 1 工作 1 小时,不满足要求。员工 2 工作 2 小时,满足要求。员工 3 工作 3 小时,满足要求。员工 4 工作 4 小时,满足要求。输入:nums = [1,2,3]
2024-05-24 13:27:22
275
原创 【LeetCode】力扣刷题之路 (20240513~20240517)
这个三元组的元素和等于 nums[1] + nums[3] + nums[5] = 13。这个三元组的元素和等于 nums[2] + nums[3] + nums[4] = 9。所以我们返回 0。nums[2] < nums[3] 且 nums[4] < nums[3]nums[1] < nums[3] 且 nums[5] < nums[3]输入:prices = [3,2,3], money = 3。输入:nums = [5,4,8,7,10,2]输入:nums = [6,5,4,3,4,5]
2024-05-22 11:21:12
659
原创 【LeetCode】力扣刷题之路 (20240506~20240510)
给你一个整数数组 nums,返回数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。输入:head = [1,2,3,4,5], n = 2。输入: nums = [-1,1,0,-3,3]输入:head = [1,2], n = 1。输入:head = [1], n = 1。,且在 O(n) 时间复杂度内完成此题。输入: nums = [1,2,3,4]输出: [24,12,8,6]输出: [0,0,9,0,0]输出:[1,2,3,5]
2024-05-10 16:35:48
251
原创 【LeetCode】力扣刷题之路 (20240422~20240426)
是一种数学和逻辑运算符,其数学符号通常表示为“⊕”,在计算机编程中,异或可以用“xor”或“^”表示。异或运算的结果取决于两个比较的值,如果这两个值相同,则异或运算的结果为0;例如,0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0。输入:l1 = [1,2,4], l2 = [1,3,4]输入:nums = [4,1,2,1,2]输入:l1 = [], l2 = [0]输入:l1 = [], l2 = []输入:nums = [2,2,1]输出:[1,1,2,3,4,4]输入:nums = [1]
2024-04-26 10:44:06
391
原创 【LeetCode】力扣刷题之路 (20240401~20240405)
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。图示两个链表在节点 c1 开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保持其原始结构。自定义评测:评测系统的输入如下(你设计的程序不适用此输入):示例 1:示例 2:示例 3:提示:进阶:你能否设计一个时间复杂度 O(m + n) 、仅用 O(1) 内存的解决方案?27. 移除元素给你一个数组 nums 和一个值 va
2024-04-07 18:53:39
781
原创 【LeetCode】力扣刷题之路 (20240325~20240329)
虽然Boyer-Moore算法的执行时间同样线性依赖于被搜索字符串的大小,但是通常仅为其它算法的一小部分:它不需要对被搜索的字符串中的字符进行逐一比较,而会跳过其中某些部分。它的效率来自于这样的事实:对于每一次失败的匹配尝试,算法都能够使用这些信息来排除尽可能多的无法匹配的位置。在匹配失败时关注的是文本串中参加匹配的最末位字符的下一位字符。:又称暴力算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;
2024-03-30 17:40:59
840
原创 【LeetCode】力扣刷题之路(202403018~20240322)
你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。输入: gas = [2,3,4], cost = [3,4,3]开往 0 号加油站,此时油箱有 4 - 3 + 2 = 3 升汽油。开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油。输入:root = [5,1,4,null,null,3,6]
2024-03-23 12:57:59
700
原创 【LeetCode】力扣刷题之路 (202403011~20240315)
解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2。解释:3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nums = [0,1,2,3,4]输入:root = [1,2,3,4,5]输出:2, nums = [1,2,_]输入:nums = [1,1,2]
2024-03-15 10:14:20
870
原创 【LeetCode】力扣刷题之路 (20240304~20240308)
给定一个整数数组 prices,其中 prices[i]表示第 i 天的股票价格;输入:prices = [1, 3, 2, 8, 4, 9], fee = 2。总利润: ((8 - 1) - 2) + ((9 - 4) - 2) = 8。输入:prices = [1,3,7,5,10,3], fee = 3。输入:root = [4,2,7,1,3,6,9]在此处卖出 prices[3] = 8。输出:[4,7,2,9,6,3,1]输入:root = [2,1,3]输出:[2,3,1]
2024-03-08 17:01:24
248
原创 【LeetCode】力扣刷题之路 (20240226~20240301)
在现实生活中,有一类活动的过程,由于它的特殊性,可将过程分成若干个互相联系的阶段,在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果。在多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前状态,又随即引起状态的转移,一个决策序列就是在变化的状态中产生出来的,故有“动态”的含义,称这种解决多阶段决策最优化的过程为动态规划方法。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。
2024-03-01 11:08:40
625
原创 【LeetCode】力扣刷题之路 (20240219~20240223)
在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。给定一个数组 prices,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。(Binary tree):是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。:在这种情况下, 没有交易完成, 所以最大利润为 0。输入:prices = [7,6,4,3,1]输入:root = [1,null,2,3]输入:[7,1,5,3,6,4]输出:[1,3,2]
2024-02-27 16:59:51
396
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人