自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 返回链表第k个结点的值

实现一种算法,找出单向链表中倒数第 k 个节点。类似09年408ds大题。

2023-09-30 19:44:01 46

原创 21.合并有序链表

新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。

2023-09-18 14:46:55 50

原创 操作系统计算题

题目:设某虚拟存储器的用户空间共有 32 个页面,每页 1KB,主存储 16KB。假设某时刻系统为用户的第 0、1、2、3 页分配的物理块号分别为 5、10、8、6,请将虚拟地址 0B5A 和 093A 变换为物理地址。3、找页号对应物理块号:p=0000 10 ——>2 对应——>8。答案:0B5A->235A ,093A->213A。1、确定偏移量 每页1kb——>偏移量10位。

2023-09-13 11:53:08 220 1

原创 剑指 Offer 04. 二维数组中的查找

编写一个高效的算法来搜索m x n矩阵matrix中的一个目标值target。

2023-07-24 15:05:17 42

原创 数据结构-查找

ASL(Average Search Length),即平均查找长度,在查找运算中,由于所费时间在关键字的比较上,所以把平均 需要 和 待查找值比较的 关键字次数 称为平均查找长度。如我要找1,比25小,转向左子树,比较一次,比10小,转左子树,2次,比2 小,转左子树,3次,此时2无左子树,所以失败。28的左孩子,35的左孩子,3的左右孩子,20的左右孩子,29的左右孩子,40的左右孩子时,都是查找不成功的时候。当待查找元素不在查找表中时,也就是扫描整个表都没有找到,即比较了n次,查找失败。

2023-07-23 12:06:54 123 1

原创 排序算法②

快速排序算法有两个核心点,分别为。以数组某个元素(一般选首元素)为。两两比较相邻的,两个for循环。基准数的元素移动至其左边,基准数的元素移动至其右边。

2023-07-21 16:44:17 34 1

原创 排序算法①

基于比较的排序算法的平均时间复杂度最优为 O(NlogN),而非比较排序算法可以达到线性级别的时间复杂度。因此,排序算法的选型使用取决于具体的列表类型、元素数量、元素分布情况等应用场景特点。相对的,非比较排序则不基于比较算子实现。一般地,由于不使用外部内存,原地排序相比非原地排序的执行效率更高。」在完成排序后,相等素在数组中的相对位置 可能被改变。「非自适应排序」的时间复杂度恒定;排序算法可分为「原地排序」和「异地排序」两类。「自适应排序」的时间复杂度受元素分布影响;选择排序、快速排序、堆排序。

2023-07-21 15:02:46 41 1

原创 剑指 67. 把字符串转换成整数

请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。,除前导空格或数字后的其余字符串不能忽略。另外,如果字符串中的数字超过32位有符号整数的范围,需要截断这个整数,使其保持在范围内。边界变量boundary的值为INT_MAX除以10,用于判断res乘以10后是否会溢出。然后,判断字符串的下一个字符是否是正负号。循环内部先将当前字符转换成数字,并将其加到结果变量。需要注意的是,本题中的空白字符只包括空格字符。

2023-07-21 14:47:45 56 1

原创 剑指 Offer 59 - II. 队列的最大值

考虑构建一个递减列表来保存队列 所有递减的元素 ,递减链表随着入队和出队操作实时更新,这样队列最大元素就始终对应递减列表的首元素,实现了获取最大值 O(1) 时间复杂度。对于普通队列,入队 push_back() 和出队 pop_front() 的时间复杂度均为 O(1);假设队列中存储 N 个元素,从中获取最大值需要遍历队列,时间复杂度为 O(N) ,单从算法上无优化空间。本题难点为实现查找最大值 max_value() 的 O(1) 时间复杂度。的队头元素,说明队头元素是当前最大值,需要将。

2023-07-17 13:32:22 32 1

原创 剑指 59 - I. 滑动窗口的最大值

给定一个数组nums和滑动窗口的大小k,请找出所有滑动窗口里的最大值。输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:滑动窗口的位置 最大值。

2023-07-14 13:23:31 26 1

原创 剑指 35. 复杂链表的复制

题目描述:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。

2023-07-13 15:58:12 27 1

原创 剑指 Offer 30. 包含 min 函数的栈

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。实现 MinStack 类:MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。int getMin() 获取堆栈中的最小元素。

2023-07-11 21:46:59 29

原创 剑指06. 从尾到头打印链表

在创建dummy节点时,应该使用dummy->next = nullptr,而不是dummy = curr->next。因为dummy节点应该作为新链表的头节点,而不是替代原有的头节点。在遍历链表反转节点的过程中,需要使用一个指针prev来记录前一个节点,以便正确地反转指针的指向。同时需要更新curr和dummy指针的位置。输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。反转完链表后,需要将反转后的链表中的节点值存入数组中,然后返回数组。

2023-07-10 17:20:39 35 1

原创 剑指24:反转链表

【代码】剑指24:反转链表。

2023-07-09 22:44:41 35 1

原创 剑指 09. 用两个栈实现队列

队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )Python 和 Java 的栈的 pop() 函数返回栈顶元素,A:(栈底)1,2,3,4,5 (栈顶) ——>A出栈到B。队列Q:1,2,3,4,5 ——>依次进入栈A。输出:[null,null,3,-1,-1]B:(栈底)5,4,3,2,1 (栈顶),再执行 pop() 出栈操作。

2023-06-29 22:03:27 26 1

原创 05替换字符串中空格

在C++中,字符串是由字符数组构成的,因此无法直接用"=="比较字符串是否相等。另外,要替换字符串中的空格为"%20",需要对原字符串进行修改,而不是创建一个新的字符串。中的每个空格替换成"%20"。请实现一个函数,把字符串。

2023-06-26 23:27:58 49 1

原创 02两数之和

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]请你将两个数相加,并以相同形式返回一个表示和的链表。解释:342 + 465 = 807。输出:[7,0,8]

2023-06-25 22:41:26 28

空空如也

空空如也

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

TA关注的人

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