- 博客(15)
- 收藏
- 关注
原创 413周赛学习 值域状压dp与区间dp
它们的异或值分别为 2, 8, 4, 10, 12, 和 6。查询的答案是 12,所有异或值中的最大值。选择上图中用彩色标记的单元格,对应的值分别为 1、3 和 4。反复执行以下操作,直到只剩一个元素,剩下的那个元素就是。的子数组中最大的异或值是子数组。的子数组中最大的异或值是子数组。给你一个由正整数构成的二维矩阵。对于每一个查询,你需要找出。你的得分为所选单元格值的。的异或值,为 60。的异或值,为 60。
2024-09-22 16:06:07
512
原创 leetcode 148.排序链表
因为题目进阶要求我们使用常数级空间复杂度,此时不能用递归,采用迭代方式,直接进行归并。在这里我们主要使用快慢指针进行链表的分解,快指针一次走两步,慢指针一次走一步。设置dummynode哨兵节点,pre前序指针,h遍历指针来进行操作,归并思路,从长度为1开始,当归并长度大于等于链表长度说明归并完成。需要注意的点是,要注意当前归并序列是否满足归并长度,进行对应设置。其中Left指针指向左归并序列,right指向右归并序列。时间复杂度和常数级空间复杂度下,对链表进行排序吗?
2024-07-30 21:07:07
695
1
原创 leetcode 211.添加与搜索单次-数据结构设计(字典树)
请你设计一个数据结构,支持 添加新单词 和 查找字符串是否与任何先前添加的字符串匹配。实现词典类 WordDictionary :WordDictionary() 初始化词典对象void addWord(word) 将 word 添加到数据结构中,之后可以对它进行匹配bool search(word) 如果数据结构中存在字符串与 word 匹配,则返回 true;否则,返回 false。word 中可能包含一些 '.' ,每个 . 都可以表示任何一个字母。
2024-07-27 21:00:30
642
原创 leetcode 990等式方程的可满足性、399除法求值(并查集)
给定一个由表示变量之间关系的字符串方程组成的数组,每个字符串方程的长度为4"a==b"或"a!=b"。在这里,a 和 b 是小写字母(不一定不同),表示单字母变量名。只有当可以将整数分配给变量名,以便满足所有给定的方程时才返回true,否则返回false。示例 1:输入:["a==b","b!=a"]输出:false解释:如果我们指定,a = 1 且 b = 1,那么可以满足第一个方程,但无法满足第二个方程。没有办法分配变量同时满足这两个方程。
2024-07-25 17:24:20
1106
原创 leetcoed 530.二叉搜索树的最小绝对差
因为二叉搜索树左节点<父节点<右节点的性质,最小绝对值差就是当前节点与左子树的最大值与右子树最小值的差。找每一个节点的左子树的最大值与右子树的最小值进行与当前节点相减,更新minnumber。给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值。输入:root = [1,0,48,null,null,12,49]差值是一个正数,其数值等于两值之差的绝对值。输入:root = [4,2,6,1,3]有左节点,找左子树的最大值,递归左节点。有右节点,找右子树的最小值,递归右节点。
2024-07-23 18:21:52
249
原创 leetcode 224.基本计算器(pyhon版本带加减乘除)
但是在有乘除运算后,我们在遇到乘除运算符号时不能再进行平级递推,需要判断ops[-1]是否也是跟乘除同级的运算,将乘除平级递推完。如果运算多了乘除运算,其优先级比+,-高,在只有加减的情况下,只要ops不为空,且ops[-1]不为左括号,平级运算递推即可。输入:s = "(1+(4+5+2)-3)+(6+8)"利用双栈来进行运算,ops栈用来保存运算符以及括号。利用双栈来进行运算,ops栈用来保存运算符以及括号。输入:s = " 2-1 + 2 "输入:s = "1 + 1"nums栈用来保存计算数目。
2024-07-18 11:11:42
730
原创 leetcode 57.插入区间
输入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]输入:intervals = [[1,3],[6,9]], newInterval = [2,5]我采用的时,当没有放入结果列表时,取并集,然后放入之后,如果还在区间内部的话,持续更新右端点。解释:这是因为新的区间 [4,8] 与 [3,5],[6,7],[8,10] 重叠。输出:[[1,2],[3,10],[12,16]]输出:[[1,5],[6,9]]
2024-07-16 22:15:19
309
原创 leetcode 54.螺旋矩阵
主函数用来根据映射函数的方向向该方向遍历,将走过的矩阵步数置1,同时将走过的matrix路线保存在结果里,当走到临界点时,循环判断。方向函数用来传入当前走的位置以及映射矩阵大小,根据映射矩阵确定待走方向。时间复杂度 𝑂(𝑚×𝑛) 空间复杂度𝑂(𝑚×𝑛)通过它来判断上下左右方向,以及是否结束,创建一个对应维度的全0矩阵,走过为1,当映射矩阵全1时说明遍历结束,返回结果。结束条件为全0,位置顺序为上下左右。juzhen为创建的映射矩阵,,返回矩阵中的所有元素。
2024-07-11 21:47:35
602
原创 leetcode 30.串联所有单次的子串
主要差距在代码逻辑上。输入:s = "wordgoodgoodgoodbestword", words = ["word","good","best","word"]它是 words 中以 ["the","foo","bar"] 顺序排列的连接。输入:s = "barfoofoobarthefoobarman", words = ["bar","foo","the"]子串 "foobar" 开始位置是 9。输入:s = "barfoothefoobarman", words = ["foo","bar"]
2024-07-11 15:45:18
675
1
原创 leetcode 12.整数转罗马数字
如果该值以 4 或 9 开头,使用 减法形式,表示从以下符号中减去一个符号,例如 4 是 5 (V) 减 1 (I): IV ,9 是 10 (X) 减 1 (I):IX。仅使用以下减法形式:4 (IV),9 (IX),40 (XL),90 (XC),400 (CD) 和 900 (CM)。即0-3为当前数字位的罗马数字乘以对应大小,4为对应数字位加中位,5为对应中位,6-8为中位加对应数字位乘以对应数值减去数值5,9为对应数字位加对应下一位数字位。9 = IX 由于 10 (X) 减 1 (I)
2024-07-09 22:14:49
796
1
原创 leetcode 135.分发糖果
解释:你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。解释:你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第一次正向遍历满足糖果多的比左边大,第二次反向遍历满足糖果多的比右边大。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目。这道题的思路就是要保证得分大的要比得分小的得到的糖果多。正向遍历如果右边数组比左边大,即前置数目+1,否则置1。反向同,如果左边数组比右边大,则前置数目+1,否则置1。
2024-07-08 19:59:01
666
原创 leetcode 45. 跳跃游戏 II「贪心」
从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。当走到当前跳跃点的最远距离,根据临时保存的tmpi,更新跳跃位置i,即该跳跃区间可跳跃的最远跳远点。这道题的难点就是如何找到我们当前可跳跃位置中的可跳跃最远距离,然后统计跳跃步数。i是当前跳跃位置,i每次更新说明进行了一次跳跃。tmpi是用来保存跳跃区间可跳跃的最远距离点。向前跳转的最大长度。3.找到最远跳跃点,进行跳跃,更新跳跃点。2.然后统计该跳跃区间可跳跃的最远位置。1.首先确定我们当前跳跃点的跳跃区间。
2024-07-07 22:59:56
480
原创 122. 买卖股票的最佳时机 II
3.如果下一位数组值小于tmp,说明股票下跌,当前的临时最大利润为最大收益,更新利润收入,并把数组值赋给minprice,同时tmp记为-1,重新进入买卖阶段。解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。输入:prices = [7,1,5,3,6,4]
2024-07-05 14:26:34
887
原创 Leetcode 80.删除有序数组中的重复项 2
解释:函数应返回新长度 length = 7, 并且原数组的前七个元素被修改为 0, 0, 1, 1, 2, 3, 3。解释:函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3。输入:nums = [0,0,1,1,1,1,2,3,3]输出:7, nums = [0,0,1,1,2,3,3]输出:5, nums = [1,1,2,2,3]输入:nums = [1,1,1,2,2,3]双指针其中i用来更新新数组,j用来遍历原数组。
2024-07-04 20:55:01
212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人