自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣80-删除有序数组中的重复项 II

我们可以使用双指针解决本题,遍历数组检查每一个元素是否应该被保留,如果应该被保留,就将其移动到指定位置。具体地,我们定义两个指针 slow 和 fast分别为慢指针和快指针,其中慢指针表示处理出的数组的长度,快指针表示已经检查过的数组的长度,即 nums[fast]表示待检查的第一个元素,nums[slow−1]为上一个应该被保留的元素所移动到的指定位置。方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。// 根据你的函数返回的长度, 它会打印出数组中。,返回删除后数组的新长度。

2023-12-10 00:56:10 38 1

原创 LCR 125.图书整理 II

读者来到图书馆排队借还书,图书管理员使用两个书车来完成整理借还书的任务。书车中的书从下往上叠加存放,图书管理员每次只能拿取书车顶部的书。否则: 将栈 A 元素全部转移至栈 B 中,实现元素倒序,并返回栈 B 的栈顶元素。当栈 B 不为空: B中仍有已完成倒序的元素,因此直接返回 B 的栈顶元素。否则,当 A 为空: 即两个栈都为空,无元素,因此返回 -1。为了保持图书的顺序,图书管理员每次取出供读者借阅的书籍是。归还到图书馆的书籍。如果没有归还的书可以取出,返回。设置A,B两个栈,模拟队列。

2023-12-10 00:32:57 30 1

原创 力扣82-删除排序链表中的重复元素 II

由于给定的链表是排好序的,因此重复的元素在链表中出现的位置是连续的,因此我们只需要对链表进行一次遍历,就可以删除重复的元素。由于链表的头节点可能会被删除,因此我们需要额外使用一个哑节点(dummy node)指向链表的头节点。当遍历完整个链表之后,我们返回链表的的哑节点的下一个节点 dummy.next即可。删除原始链表中所有重复数字的节点,只留下不同的数字。时间复杂度:O(n),其中 n 是链表的长度。给定一个已排序的链表的头。空间复杂度:O(1)。

2023-12-03 00:03:41 20 1

原创 力扣283-移动零

本题利用i和j两个指针,考虑非零元素的个数,将非零元素不断覆盖nums原数组,将剩余空的位置全部覆盖为0,即达到我们需要的形式:非零元素以相对位置不变在前,0元素在后。移动到数组的末尾,同时保持非零元素的相对顺序。:必须在不复制数组的情况下原地对数组进行操作。,编写一个函数将所有。时间复杂度:O(n)空间复杂度:O(1)

2023-12-02 22:22:55 19

原创 力扣14-最长公共前缀

采用纵向比较,将第一个字符串定为基准,让后面的每一个字符分别与第一个比较,比较时,一列一列分别比较,当后面的字符串在j列与第一个字符不同时,达到最大前缀,故返回str[0]编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串。时间复杂度:O(n²)输入不存在公共前缀。空间复杂度:O(1)

2023-11-26 12:57:53 23 1

原创 力扣112-路径总和

采用递归的思想,在根的左子树和右子树遍历时,将targetSum的值变成当前targetSum - root的value值,不断判断叶子节点此时targetSum和根节点的value是否相等。如果相等,则说明存在路径,使得路径总和等于targetSum,若根节点不存在,说明没有这样一条路。不存在 sum = 5 的根节点到叶子节点的路径。由于树是空的,所以不存在根节点到叶子节点的路径。的路径,这条路径上所有节点值相加等于目标和。等于目标和的根节点到叶节点路径如上图所示。是指没有子节点的节点。

2023-11-26 11:40:45 19 1

原创 技术分享-弹性布局

flex布局是常用的自适应布局技术,全称是弹性盒子——“FlexibleBox”,用来弹性布局。又称伸缩布局,伸缩盒布局,弹性盒布局,flex布局。

2023-11-19 15:00:54 53

原创 力扣LCR 140-训练计划 II

采用双指针,将两个指针都先指向头结点,将第一个指针向前移动k个位置。然后将两个指针一起向前移动,当第一个指针为空,则第二个指针的位置就是倒数第cnt个元素的位置。的链表用于记录一系列核心肌群训练项目编号,请查找并返回倒数第。

2023-11-19 11:58:35 54

原创 力扣155-最小栈

当一个元素a入stack栈时,比较其与minStack栈栈顶的大小关系。如果a元素小于栈顶元素,说明a此时为栈中最小元素,将a的值push进minStack中;如果a元素值大于栈顶元素,则直接将栈顶元素的值继续push进minStack中。当popStack栈顶元素时,将minStack栈顶中的元素也pop出来。以此可以保证minStack栈顶元素一直为Stack栈中最小元素。--> 返回 -3.minStack.getMin();--> 返回 -2.

2023-11-19 11:24:22 20

原创 力扣-232 用栈实现队列

队列所需调用函数:1.myQueueCreate() 2.in2out() 3.myQueuePush()4.myQueuePop()5.myQueuePeek() 6.myQueueEmpty()7.myQueueFree()栈的基本函数:1.stackCreate()2.stackPush()3.stackPop()4.stackTop()5.stackEmpty()6.stackFree。其次,定义由入栈(inStack)和出栈(outStack)构成的队列以及队列的我们所需操作调用的一些函数。

2023-11-12 10:36:34 27

原创 力扣-94 二叉树的中序遍历

在inorderTraversal函数中,已知根结点和数组长度,需返回数组,那么我们就需要动态建立数组rearray,以及为returnSize赋初值。再调用函数mid进行中序遍历,最终返回数组。在mid函数调用中,先判断根节点是否存在,如果不存在,则返回;如果存在,则先访问根的左孩子,再将根的值存入数组,最后访问根的右孩子。在mid函数调用中,先判断根节点是否存在,如果不存在,则返回;如果存在,则先访问根的左孩子,再将根的值存入数组,最后访问根的右孩子。时间复杂度:O(n)空间复杂度:O(n)

2023-11-12 10:10:58 20

原创 力扣-69 x 的平方根

当x非0,则从i=1开始循环,不断判断i的平方与x的大小关系,直到i²>x,则返回值。8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。不允许使用任何内置指数函数和算符,例如。由于返回类型是整数,结果只保留。

2023-11-05 12:06:42 30

原创 力扣-169 多数元素

利用栈的存储方式,top=-1。将数组第一个数字存入栈中,判断下一个是否数字是否与栈定相同:如果相同,则继续压入栈中;如果不同,则top--,返回一步。以此类推,最终栈顶的元素,则为多数元素,返回栈顶,求得多数元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。,返回其中的多数元素。多数元素是指在数组中出现次数。时间复杂度:O(n)空间复杂度:O(1)

2023-11-05 11:25:03 26

空空如也

空空如也

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

TA关注的人

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