自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 栈与队的互相实现

栈的特点是后进先出,队的特点是先进先出。今天我们学习的内容是用栈实现队和用队实现栈。请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(一、LeetCode232.用栈实现队列。思路:题目给了我们两个栈使用,我们。232. 用栈实现队列。

2023-10-19 21:01:59 67 1

原创 算法通关村—最小栈问题解析

对于栈来说,如果一个元素 a 在入栈时,栈里有其它的元素 b, c, d,那么无论这个栈在之后经历了什么操作,只要 a 在栈中,b, c, d 就一定在栈中,因为在 a 被弹出之前,b, c, d 不会被弹出。因此,在操作过程中的任意一个时刻,只要栈顶的元素是 a,那么我们就可以确定栈里面现在的元素一定是 a, b, c, d。当一个元素要入栈时,我们取当前辅助栈的栈顶存储的最小值,与当前元素比较得出最小值,将这个最小值插入辅助栈中;在任意一个时刻,栈内元素的最小值就存储在辅助栈的栈顶元素中。

2023-10-17 14:51:30 63

原创 栈——括号比配问题

LeetCode20. 有效的括号https://leetcode.cn/problems/valid-parentheses/给定一个只包括 ,,,,, 的字符串 ,判断字符串是否有效。有效字符串需满足:示例 1: 输入:s = "()" 输出:true 示例 2: 输入:s = "()[]{}" 输出:true 示例 3: 输入:s = "(]" 输出:false 解题思路:我这里直接画一个流程图应该会更好理解一点~代码如下: 这题标着简单,但是我感觉挺难的...

2023-10-09 15:25:17 84 1

原创 算法通关村—如何基于链表实现栈

● peek():显示栈顶元素,但是不出栈。告别了链表与数组,我们来到栈的学习。● push(E):增加一个元素E。● empty():判断栈是否为空。● pop():弹出元素E。接下来我们用链表来实现栈。

2023-10-09 13:18:11 69 1

原创 数组轮转、区间、字符串替换空格问题

这一期我们把数组剩余的几个问题一并解决,之后我还会出一期数组复盘。剩余的问题:1. 数组轮转问题2. 数组区间问题3.字符串替换空格问题LeetCode189. 轮转数组。

2023-10-08 19:42:48 41 2

原创 元素奇偶移动专题——对撞双指针

元素奇偶移动专题——对撞双指针

2023-10-05 16:01:13 36

原创 《算法通关村——双指针的妙用》

数组元素删除——双指针

2023-10-05 12:09:43 31

原创 算法通关村——不简单的数组增删改查

数组的基本操作

2023-10-04 13:09:58 34 1

原创 数组合并专题

数组合并专题

2023-10-02 20:16:10 71 1

原创 单调数组问题

单调数组问题

2023-10-02 18:10:12 128 1

原创 链表反转的拓展问题——两两交换链表中的结点

两两交换链表中的结点

2023-09-26 19:33:01 33 1

原创 《算法通关村第二关——链表指定区间反转问题解析》

反转链表

2023-09-26 18:35:29 50 1

原创 删除链表专题复盘(上一期的深入思考)

删除链表专题复盘

2023-09-25 00:27:53 55 3

原创 删除链表元素专题

删除链表元素专题

2023-09-23 17:42:39 37 1

原创 《算法通关村第二关——终于学会链表反转了》

反转链表涉及结点的增加、删除等多种操作,能非常有效考察思维能力和代码驾驭能力。

2023-09-23 15:14:53 41 1

原创 双指针专题

在数组里用到双指针的思想, 可以简单有效的解决很多问题,实际上双指针只不过是两个变量而已。在链表中同样可以使用双指针来轻松解决一部分算法问题。

2023-09-22 21:09:17 67

原创 《算法通关村第一关——链表经典问题之LeetCode刷题笔记》

做这题,刚开始我就在想各种数据结构,得到的一种思路是这个链表元素,一份压入栈中,一份压入队中,分别出栈,出队,比较两者元素值。根据链表节点的值大小,递归地将两个链表中较小节点连接在一起,形成新的有序链表。递归方法用的很巧妙,以我自己的理解是节点的迭代恰好与递归的特性相符,可惜现阶段对递归的理解的=还没有很透彻...两个链表的头结点都是已知的,相交之后成为一个单链表,但是相交的位置未知,并且相交之前的结点数也是未知的,LeetCode234,这也是一道简单,但是很经典的链表题,判断一个链表是否为回文链表。

2023-09-21 17:28:22 140 1

原创 算法通关村第一关——链表青铜挑战记

在这段算法代码中,我们用到了 C 语言的 malloc 函数,它的作用就是生成一个新的节点,其类型与 ListNode 是一样的,其本质就是在内存中找了一小块空地,准备用来存放数据 val 的 temp 和 a 节点。它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。该代码片段的作用是定义了一个链表结点的结构,你可以使用这个结构来创建链表,举个算法村里的例子,我们创建一个值为 0 1 2 3 4 的链表。在《大话数据结构》上作者讲的很通俗,原话是这么讲的。接下来,我们就来创建链表。

2023-09-19 18:25:44 31

原创 递归输出图形类的笔记

说明:参数 number 为重复次数,symbol 为显示字符。函数将在屏幕上重复显示 number 个 symbol 字符。若 number ≤ 0,则不输出。请编写递归函数,重复显示字符。

2022-08-15 19:16:14 560 1

空空如也

空空如也

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

TA关注的人

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