- 博客(7)
- 收藏
- 关注
原创 leetcode+代码随想录第7天
203. 移除链表元素 - 力扣(LeetCode)链表还是不熟,存在很多问题dummy = ListNode(next = head) #虚拟头节点current = dummy #从虚拟头节点开始移动的操作指针while current.next: #比较current下一个指针所指的数据是否==val#current.next所指数据等于val时,跳过该数据,比较next的nextelse:#current.next所指数据不等于val,则current向后移,继续比较下一个next。
2025-02-20 18:41:20
323
原创 leetcode+代码随想录第六天
203. 移除链表元素 - 力扣(LeetCode)第一遍是看原来的题解写的dummy = ListNode(next = head) #dummy一直指向虚拟头节点#确保current.next所指向的数据存在else:写成了是指针,才是指针指向的值dummy = ListNode(next = head) #dummy指向头节点,即下一个指针else:#dummy.next 即为头节点head又写了一遍。
2025-02-19 19:01:04
421
原创 leetcode+代码随想录之数组基本完成
class Solution: def search(self, nums:List[int], target:int) -> int: n = len(nums) #[l, r],l==r有意义 l, r = 0, n-1 while l <= r: middle = l + (r-l) // 2 if nums[middle] > target:
2024-12-11 19:35:20
733
原创 leetcode+代码随想录第三天(补发结束)
接下来,如何判断滑动窗口内是否满足题设条件,有两种选择:(1) 要么你遍历这个滑窗,通过遍历来断滑窗是否满足需要O(N), 那么总的时间就退化为O(N^2), (2) 要么你选择字典,用空间换时间,那么判断划窗是否满足条件则需要 O(1),总时间为O(N).是的,关键的区别在于,最大滑窗是在迭代右移右边界的过程中更新结果,而最小滑窗是在迭代右移左边界的过程中更新结果。用一个list来存储总和大于等于target的子数组的长度,他的index是计算的位置,也就是开始的位置。而是连续的满足条件的数组。
2024-12-11 13:33:14
604
原创 刷leetcode+代码随想录之第二天(补发)
如果列表中的元素是可变对象(比如列表、字典等),这个方法会创建多个指向相同对象的引用,而不是每个元素都是独立的副本。函数会对生成器表达式产生的平方值进行排序,并返回一个新的列表,其中包含了所有的平方值,按照从小到大的顺序排列。该函数返回一个新的列表,包含排序后的元素,而不会修改原始可迭代对象。用一个新的列表ans来存放比较绝对值后的平方数,此时的顺序为平方值最大---->平方值最小;#[l, r),l==r这个区间是一个无意义的区间。print(ans) # 输出:[[1], [1], [1]]
2024-12-11 13:31:42
582
原创 leetcode+代码随想录刷题启动(补发)
当nums[fase]等于目标值时,就跳过它,寻找不等于目标值的nums[fast],这些跳过的位置都是待填入的不等于目标值的nums[fast]当nums[fase]等于目标值时,就跳过它,寻找不等于目标值的nums[fast],这些跳过的位置都是待填入的不等于目标值的nums[fast]while l <= r,加=的原因是[l, r]当l=r时,区间是有意义的即[l,l]或[r,r],是存在且有意义的。我的解释:因为输出的值是整数,即取下界,因此用ans来存储可能的下界,即当。
2024-12-11 13:30:41
1023
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅