自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 LeetCode295:数据流的中位数

序列元素个数为偶数时,两个堆的元素个数必相等,否则不满足特性,由于在偶数个元素序列中,中位数是序列最中间两个数的平均数,而大根堆和小根堆的堆顶存放的就是这两个数,所以只要取出两个堆顶元素取计算平均值即可。根据这种特点,不妨维护一个大根堆和一个小根堆,大根堆存储maxHeap区域的数据,小根堆存储minHeap区域的数据,按照上述特性先让所有元素全部进堆。在有序序列中,小于中位数的数据处在中位数前面(记为maxHeap区域),大于中位数的数据处在中位数后面(记为minHeap区域),并且两个区域的元素。

2025-02-10 18:36:35 359

原创 LeetCode80:删除有序数组中的重复项 II

本题要求原地修改数组,应使用一个中间指针指向后续数据前移的位置,用以覆盖冗余元素,也即删除。从数组第2个数据依次向后遍历,每次都与前一个数据比较是否相等,若某数据出现了3次及以上,就让这个中间指针指向这些冗余位置,当出现不同数据时,覆盖冗余位置的数据。删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。给你一个有序数组nums,请你。

2025-02-09 16:03:35 277

原创 LeetCode148:排序链表

给你链表的头结点head,请将其按升序排列并返回排序后的链表。

2025-02-01 13:43:06 233

原创 LeetCode234:回文链表

判断一个链表是否为回文链表,需要使链表从前往后以及从后往前遍历的元素均相等,但在单链表中的结点没有pre指针,直接从后往前遍历并不现实,所以可以通过反转后半个链表的方式,从原链表和反转链表的表头开始依次遍历,以此判断链表是否回文。最初,我的思路是用新链表接收反转的链表,但是这会改变head,做不到两个指针同时遍历结点。如果要通过复制链表的方式将复制链表反转,又会导致复杂度太高,所以使用了反转半个链表的方式实现。给你一个单链表的头节点head,请你判断该链表是否为回文链表。否则,返回false。

2025-01-15 18:58:09 273

原创 LeetCode142:环形链表Ⅱ

如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0 开始)。如果pos是 -1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。

2025-01-12 15:12:34 248

原创 LeetCode94:二叉树的中序遍历(非递归实现)

以下图的中序遍历为例,1、2、3结点依次入栈,结点3无左孩子,3弹出,指向右孩子4,4入栈,无左孩子,4弹出,4无右孩子,2弹出,2无右孩子,1弹出,指向右孩子5,5、6依次入栈,6无左孩子,6弹出,6无右孩子,5弹出,指向右孩子7,7无左孩子,7弹出,7无右孩子,此时栈空,无法继续弹出栈顶元素,遍历结束。,从头结点开始一直向左下方走,将经过的结点依次入栈,直至没有左孩子了,弹出结点,同时指向当前结点的右孩子,那么右子树同样可以看成是以这个右孩子为头结点的多个单边树,重复上面的操作即可。

2025-01-10 21:22:26 695

原创 LeetCode160:相交链表

若两个无环单链表相交,则从交点开始,往后的每个结点均是共享结点,这是因为链表的next指针都是指向下一个元素的内存地址而非元素值。在单链表结构中,每个结点只有一个next指针,故每个结点都有且仅有唯一的下地址,那么不难发现,从相交结点开始,每个元素都只指向一个下地址,也就不会造成下图的X型相交情况。给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。注意,函数返回结果后,链表必须 保持其原始结构。

2025-01-09 20:28:21 261

原创 LeetCode110:平衡二叉树

接下来就是判断二叉树是否平衡的方法,只需要简单的if条件判断上述两种情况是否成立即可。在情况2中,利用迭代依次从下至上判断①某结点的左子树是否平衡,②某结点的右子树是否平衡,③某结点的左右子树高度差是否<=1(即该结点是否平衡),只有当三种情况都成立时,一个非空树才是平衡二叉树。根据平衡二叉树的这种特性,假设叶子结点的高度均为1,我们首先需要计算每个分支结点的左、右子树的最大高度(如:若o1结点的左子树高为。+1=5),构造maxDepth方法迭代实现该功能。,右子树高为3,则o1结点的实际高度为。

2025-01-08 17:38:40 261

原创 LeetCode3019:按键变更的次数

给你一个下标从 0 开始的字符串 s ,该字符串由用户输入。按键变更的定义是:使用与上次使用的按键不同的键。例如 s = “ab” 表示按键变更一次,而 s = “bBBb” 不存在按键变更。同一字母的大小写在ASCII码表中相差的数值为32,若按键变更,则当前字符与上一个字符的ASCII码值的差值一定不会是32或0,由此可解决该题。shift 或 caps lock 等修饰键不计入按键变更,也就是说,如果用户先输入字母 ‘a’ 然后输入字母 ‘A’ ,不算作按键变更。返回用户输入过程中按键变更的次数。

2025-01-07 13:48:27 181

原创 算法第四版练习1.1.15

这个问题需要使用双重循环,先利用if语句判断第i个元素是否与数组中的数相等,若相等则表示出现一次,从而累加其出现次数,遍历完整个数组后number的值就是第i个元素出现的次数,这是内层循环。外层循环的作用是把M个number值依次放进返回的数组中。

2022-11-16 21:15:41 155

原创 算法第四版练习1.1.13

求转置数组

2022-11-15 18:53:13 163

原创 算法第四版练习1.1.3

从命令行读入三个整数,再用if语句判断a、b是否相等,b、c是否相等即可。

2022-11-14 15:08:56 189

原创 JavaWeb之Cookie详解(一)

Cookie的创建与数据提取

2022-10-20 17:56:29 8093

原创 JavaWeb之使用sendRedirect方法进行重定向响应

使用response.sendRedirect(URL)方法进行重定向,请求新的资源

2022-10-16 17:06:29 1995

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除