- 博客(16)
- 收藏
- 关注
原创 完整的顺序队列
print('优先级队列:',priorityQueue.queue)#查看优先级元素中的所有元素。print('全部被删除后',priorityQueue.queue)#查看优先级队列中的所有元素。print('删除后剩余元素',priorityQueue.queue)print('删除后剩余元素',priorityQueue.queue)print('删除后剩余元素',priorityQueue.queue)print('删除后剩余元素',priorityQueue.queue)
2025-01-16 15:49:03
330
原创 python算法-队列
队列(Queue)是一种基本的线性数据结构,它遵循先进先出(First In First Out, FIFO)的原则。这意味着最先被添加到队列中的元素将会是最先被移除的。
2025-01-16 15:43:49
232
原创 链表相关知识
链表在内存中的存储方式则是随机存储(见缝插针),每一个节点分布在内存的不同位置,依靠指针关联起来。(只要有足够的内存空间,就能为链表分配内存)循环链表:循环链表指链表首尾相连,即最后一个节点的指针域指向第一个节点。循环链表也分单向循环链表和双向循环链表,原理都一样。链表是一种线性数据结构,它由一系列的节点组成,每个节点包含两部分:数据和指向下一个节点的引用。双向链表:有两个方向,每个节点包含数据域以及指向上一个节点和下一个节点的指针域。单向链表:只有一个方向,每个节点包含数据域和指向下一个节点的指针域。
2024-11-08 15:38:47
284
原创 letcode 643
本题求最大平均值 (其实就是求最大和),所以需要定义sum_, 同时定义一个max_avg (初始值为负无穷)# Step 3: 更新需要维护的变量 (sum_, max_avg), 不断把当前值积累到sum_上。# 窗口首指针前移一个单位保证窗口长度固定, 同时提前更新需要维护的变量 (sum_)# Step 2: 定义窗口的首尾端 (start, end), 然后滑动窗口。最大平均数 (12-5-6+50)/4 = 51/4 = 12.75。的答案都将被视为正确答案。# 定义需要维护的变量。
2024-09-27 14:59:02
397
原创 letcode 21
新链表是通过拼接给定的两个链表的所有节点组成的。self.next=None #指针,指向。self.val=data #数据本身。将两个升序链表合并为一个新的。
2024-09-25 16:18:48
515
原创 letccode1695
最优子数组是 [5,2,1] 或 [1,2,5]的一个连续子序列,即如果它等于。最优子数组是 [2,4,5,6],请你从中删除一个含有。
2024-09-17 15:13:54
590
原创 letcode744
代码依然可以沿用之前的代码,该数组的元素是由字符组成的且会有重复元素,数组要求返回对应的数组值而非索引值,所以我们首先需要去重,然后再根据要求变动代码的返回值,如颜色标注区。返回 letters 中大于 target 的最小的字符。letters 中没有一个字符在字典上大于 'z',所以我们返回 letters[0]。letters 中字典顺序上大于 'c' 的最小字符是 'f'。如果不存在这样的字符,则返回 letters 的第一个字符。letters 中字典上比 'a' 大的最小字符是 'c'。
2024-09-12 09:45:49
302
原创 letcode35
我们在排序数组中寻找target就可以用二分查找算法,因此代码就可以套用上个章节的内容。这块和上章节不同的地方上章节提到如果目标值不存在返回-1,而这道题。目标值不存在数组中返回它将会被按顺序插入的位置,因此代码需要做细微的调整当查找不到相关内容的时候需要返回mid+1。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。#需要替换-1到mid+1。排序数组和一个目标值。
2024-09-11 11:09:13
651
原创 letcode 438 找到字符串中所有字母异位词
#不考虑答案输出的顺序。异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。输入s=“cbaebabacd”,p=“abc” 输出【0,6】输入s=”abab“,p=“ab”##给定两个字符串,找到s中所有p的yi子串,返回这些子串的起始索引。
2024-09-06 09:47:27
412
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人