- 博客(16)
- 问答 (1)
- 收藏
- 关注
原创 LeetCode——平均售价
产品 2 的平均售价 = ((200 * 15)+(30 * 30) )/ 230 = 16.96。(product_id,start_date,end_date) 是 Prices 表的主键。产品 1 的平均售价 = ((100 * 5)+(15 * 20) )/ 115 = 6.96。每个产品的对应时间段是不会重叠的,这也意味着同一个产品的价格时段不会出现交叉。UnitsSold 表的每一行表示的是每种产品的出售日期,单位和产品 id。Prices 表的每一行表示的是某个产品在一段时期内的价格。
2023-05-04 21:02:52 148
原创 LeetCode——对称二叉树
输入:root = [1,2,2,null,3,null,3]给你一个二叉树的根节点 root , 检查它是否轴对称。输入:root = [1,2,2,3,4,4,3]先判断根节点是否为空,若为空则直接返回true。
2023-04-24 13:54:13 136
原创 LeetCode——二叉树的中序遍历
退出循环之后,临时建立一个节点,传入栈pop()的值,在创建的链表中输入该节点的值,然后让root等于该节点的右子节点,以此来迭代遍历,得到的序列是。使用递归法,遍历左节点,然后把中间节点传入list链表,再遍历右节点,进行递归,最后返回链表的值。当root不为空的时候,在循环中,一直传入左节点,直到无左节点为止。创建一个链表和一个栈,先判断传入的root是否为空还有栈是否为空。输入:root = [1,null,2,3]输入:root = [1]输入:root = []输出:[1,3,2]
2023-04-23 14:46:10 127
原创 LeetCode——合并两个有序数组
输入:nums1 = [0], m = 0, nums2 = [1], n = 1 输出:[1] 解释:需要合并的数组是 [] 和 [1]输入:nums1 = [1], m = 1, nums2 = [], n = 0 输出:[1] 解释:需要合并 [1] 和 []。输出:[1,2,2,3,5,6] 解释:需要合并 [1,2,3] 和 [2,5,6]。合并结果是 [1,2,2,3,5,6]输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。
2023-04-16 20:34:27 90
原创 LeetCode——删除排序链表中的重复元素
给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次。返回 已排序的链表。进行前一节点和下一节点值val的判断,相同,改变指针位置,指向下一节点,以此类推,最后返回head。先进行判空操作,若头节点和头节点下一个节点为空,直接返回。输入:head = [1,1,2,3,3]输入:head = [1,1,2]若不为空,进行一递归。输出:[1,2,3]
2023-04-16 20:17:32 75
原创 LeetCode——数据库(变更性别)
请你编写一个 SQL 查询来交换所有的 ‘f’ 和 ‘m’ (即,将所有 ‘f’ 变为 ‘m’ ,反之亦然),仅使用 单个 update 语句 ,且不产生中间临时表。注意,你必须仅使用一条 update 语句,且 不能 使用 select 语句。查询结果如下例所示。
2023-04-15 11:30:56 90
原创 LeetCode——x的平方根
为了避免这个问题,我们可以把 mid * mid 和 x 相比较,如果 mid * mid 小于等于 x,则说明 mid 可能是平方根,否则mid 太大了,需要在左侧继续查找。因此,我们使用 mid
2023-04-15 11:02:07 241
原创 LeetCode——加一
最后动态创建一个新的数组,大小为n+1,即原数字长度+1(防止999,99之类的数字)给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。只有在都为9的情况下for循环才会完全执行完,res[0]=1。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。输入:digits = [4,3,2,1]输入:digits = [1,2,3](1)判断非9的情况,直接加1并返回。解释:输入数组表示数字 4321。输入:digits = [0]输出:[4,3,2,2]输出:[1,2,4]
2023-04-14 23:26:40 45
原创 LeetCode——搜索插入位置
如果目标值小于中间值,则将右边界缩小到中间值的左边一位;给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。具体来说,它首先将左右边界设置为数组的第一个和最后一个元素的索引,然后在每次循环中计算中间索引,并将其与目标值进行比较。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。
2023-04-13 22:06:47 105
原创 LeetCode——二进制求和
使用了 StringBuilder 类来构建结果字符串,这是一种高效的拼接字符串的方法。给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。
2023-04-12 15:27:04 132
原创 LeetCode——移除元素
遍历数组nums,当nums[i]等于给定值val时,将nums[i]与nums[j]交换,i继续向前移动,j保持不变。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。如果nums[i]不等于val,则继续向前移动i,并增加j的值。你不需要考虑数组中超出新长度后面的元素。
2023-04-12 14:04:59 107
原创 LeetCode——有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。是检查 hashMap 中是否存在指定的 key 对应的映射关系。此方法用于在链接列表的最后或结尾阶段插入对象。每个右括号都有一个对应的相同类型的左括号。使用containsKey() 方法。左括号必须用相同类型的右括号闭合。使用toCharArray()方法。使用removeLast() 方法。是删除并返回此列表中的最后一个元素。左括号必须以正确的顺序闭合。使用addLast()方法。
2023-04-09 21:00:19 53
原创 Java charAt()方法的使用
java.lang.String.charAt() 方法返回指定索引处的char值。索引范围是从0到length() - 1。对于数组索引,序列的第一个char值是在索引为0,索引1,依此类推。
2023-04-07 15:44:19 268 1
空空如也
strcpy在链表中的使用为什么不行
2021-06-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人