自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BM74 数字字符串转化成IP地址

现在有一个只包含数字的字符串,将该字符串转化成IP地址的形式,返回所有可能的情况。题目来自【牛客题霸】数字字符串转化成IP地址_牛客题霸_牛客网。

2023-10-10 17:31:23 129

原创 最长公共子串(C++实现)

【代码】最长公共子串(C++实现)

2023-09-22 10:57:04 389

原创 1143. 最长公共子序列(C++实现)

因此这里多用一个 vector<vector<int>> 来记录最长公共子序列的遍历路径,当遍历完成后、再根据这个路径来输出结果子序列。如果使用 vector<vector<string>> 作为dp数组的话,空间复杂度将会达到O(n三次方);// 此时 i 已被改变。题目改成求最长公共子序列的同时、要输出这个子序列;BM65 最长公共子序列(二)1143. 最长公共子序列。

2023-09-17 21:37:33 256

原创 剑指 Offer 49. 丑数(C++实现)

对每个丑数 分别乘2、乘3、乘5 即可得到后续丑数。其中只需要对计算出来的丑数结果进行去重即可。剑指 Offer 49. 丑数。

2023-09-01 19:59:34 148

原创 剑指 Offer 19. 正则表达式匹配(C++实现)

剑指 Offer 19. 正则表达式匹配。只需要对各种情况进行分类处理即可。动态规划:通过dp数组剪枝。

2023-08-27 18:34:13 79

原创 剑指 Offer 48. 最长不含重复字符的子字符串(C++实现)

剑指 Offer 48. 最长不含重复字符的子字符串。注意:缩小 不含重复字符子串 时的写法。

2023-08-21 10:04:26 70

原创 剑指 Offer 40. 最小的k个数(C++实现)

剑指 Offer 40. 最小的k个数。通过最小堆,直接筛选出最小的k个数。将最小的k个数 分到一边。

2023-08-18 20:19:17 357

原创 剑指 Offer 61. 扑克牌中的顺子(C++实现)

剑指 Offer 61. 扑克牌中的顺子。

2023-08-18 16:34:02 82

原创 剑指 Offer 45. 把数组排成最小的数(C++实现)

排序完成后,结果数组即为所求字符串,将数组拼接成一个字符串即可。剑指 Offer 45. 把数组排成最小的数。,排序规则为 拼接后字符串较小者在前。

2023-08-18 12:17:57 66

原创 剑指 Offer 51. 数组中的逆序对(C++实现)

在进行归并排序的过程中,其实就是对逆序对进行整理的过程。时,可以计算出对应的逆序对数量,最后再对结果相加。剑指 Offer 51. 数组中的逆序对。

2023-08-13 15:04:53 44

原创 剑指 Offer 17. 打印从1到最大的n位数(C++实现)

剑指 Offer 17. 打印从1到最大的n位数。要解决大数问题,通过字符串来表示即可。考察整数的生成、大数问题。

2023-08-09 22:42:02 49

原创 剑指 Offer 33. 二叉搜索树的后序遍历序列(C++实现)

剑指 Offer 33. 二叉搜索树的后序遍历序列。注意一些特殊情况的处理。

2023-08-01 14:29:48 30

原创 剑指 Offer 16. 数值的整数次方(C++实现)

剑指 Offer 16. 数值的整数次方。

2023-08-01 14:04:50 40

原创 剑指 Offer 38. 字符串的排列(C++实现)

难点在于 可能出现重复的元素、这样直接求排列也会出现重复的结果。剑指 Offer 38. 字符串的排列。

2023-07-31 15:30:34 36

原创 剑指 Offer 37. 序列化二叉树(C++实现)

也有差异,用一个什么 符号/类型/数据 去表示空指针,是否需要表示 等等;是否一定要用字符串表示呢、用别的数据类型 像数组 行不行呢。剑指 Offer 37. 序列化二叉树。序列化的方式有很多种,关键是在。这些都是值得思考的问题。

2023-07-31 15:00:17 37

原创 剑指 Offer 64. 求1+2+…+n(C++实现)

剑指 Offer 64. 求1+2+…借助类的特性 实现 条件判断、循环等需求。通常是用到 类的静态成员 的特性。

2023-07-29 16:42:40 32

原创 剑指 Offer 36. 二叉搜索树与双向链表(C++实现)

的性质,改变二叉树的指针指向 即可原地构建有序的双向链表。剑指 Offer 36. 二叉搜索树与双向链表。

2023-07-29 11:34:50 146

原创 剑指 Offer 12. 矩阵中的路径(C++实现)

比如:函数传参、for loop里的临时对象。该用引用的地方就用引用,这对效率的影响很大。剑指 Offer 12. 矩阵中的路径。

2023-07-27 13:49:23 36

原创 剑指 Offer 26. 树的子结构(C++实现)

当两棵树都足够大时、或需要比较的 B树 有多课时,这种方法效率会比较低。对A的每个子树 与 B树 进行比较,检查是否有相似的结构。这种方法的前提是,B树与A树子树应该具有。剑指 Offer 26. 树的子结构。

2023-07-25 11:28:10 31

原创 剑指 Offer 32 - III. 从上到下打印二叉树 III(C++实现)

剑指 Offer 32 - III. 从上到下打印二叉树 III。记录 遍历每一层节点时 的结果。变量标志 遍历该层时应该为。

2023-07-24 17:16:45 29

原创 剑指 Offer 50. 第一个只出现一次的字符(C++实现)

因为字符串只含有小写字母,可以通过一个大小为26的数组代替一般的哈希表,提高效率、空间利用率。剑指 Offer 50. 第一个只出现一次的字符。

2023-07-24 15:44:32 197

原创 剑指 Offer 11. 旋转数组的最小数字(C++实现)

剑指 Offer 11. 旋转数组的最小数字。

2023-07-23 15:44:22 32

原创 剑指 Offer 04. 二维数组中的查找(C++实现)

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

2023-07-23 12:06:58 35

原创 剑指 Offer 03. 数组中重复的数字(C++实现)

剑指 Offer 03. 数组中重复的数字。

2023-07-22 17:05:01 31

原创 剑指 Offer 31. 栈的压入、弹出序列(C++实现)

剑指 Offer 31. 栈的压入、弹出序列。

2023-07-22 16:20:54 34 1

原创 剑指 Offer 29. 顺时针打印矩阵(C++实现)

剑指 Offer 29. 顺时针打印矩阵。

2023-07-22 12:32:43 33 1

原创 剑指 Offer 59 - II. 队列的最大值(C++实现)

方法与以下文章中的类似,使用单调队列实现,不再赘述。剑指 Offer 59 - II. 队列的最大值。

2023-07-21 21:11:43 32 1

原创 剑指 Offer 59 - I. 滑动窗口的最大值(C++实现)

使其实现:向其 push() 时 自动把队尾小于插入值的元素 弹出,再 push。剑指 Offer 59 - I. 滑动窗口的最大值。于是,当我们将其用于 求滑动窗口最大值时,可以通过。实际存储的即为 一串单调递减的元素。

2023-07-21 20:36:51 38 1

原创 剑指 Offer 30. 包含min函数的栈(C++实现)

定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。优点:相比于用优先级队列的方法,减少了每次调整节点找最小值的时间、减少了树状结构的额外空间开销,性能更好。剑指 Offer 30. 包含min函数的栈。缺点:性能差,空间开销也大。

2023-07-20 10:58:40 29

原创 剑指 Offer 58 - I. 翻转单词顺序(C++实现)

输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。链接:https://leetcode.cn/problems/fan-zhuan-dan-ci-shun-xu-lcof。此处用一般指针作为迭代器,传入的是地址,实际不会真的去取s[fast],因此当 fast == n 时不会导致溢出。来源:力扣(LeetCode)

2023-07-19 13:38:56 89

原创 剑指 Offer 52. 两个链表的第一个公共节点(C++实现)

剑指 Offer 52. 两个链表的第一个公共节点。

2023-07-18 12:17:28 35 1

原创 剑指 Offer 35. 复杂链表的复制(C++实现)

请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。链接:https://leetcode.cn/problems/fu-za-lian-biao-de-fu-zhi-lcof。不占用额外辅助空间的方法,空间复杂度O(1),时间复杂度O(n)以空间换时间的方法,空间复杂度O(n),时间复杂度O(n)来源:力扣(LeetCode)

2023-07-17 14:56:34 90 1

原创 剑指 Offer 24. 反转链表(C++实现)

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。剑指 Offer 24. 反转链表。通过 3 根指针 反转链表。

2023-07-16 19:01:17 60 1

原创 剑指 Offer 06. 从尾到头打印链表(C++实现)

剑指 Offer 06. 从尾到头打印链表。法1:(遍历一次链表)法2:(遍历两次链表)

2023-07-16 17:26:55 119 1

原创 剑指 Offer 67. 把字符串转换成整数(C++实现)

来源:力扣(LeetCode)链接:https://leetcode.cn/problems/ba-zi-fu-chuan-zhuan-huan-cheng-zheng-shu-lcof。

2023-07-15 20:11:06 95 1

原创 剑指 Offer 20. 表示数值的字符 (C++实现)

【代码】表示数值的字符 C++实现。

2023-07-14 15:11:37 97 1

原创 printf()和scanf()与 * 修饰符

目录1.printf()与*2.scanf()与*1.printf()与*如果想通过程序决定输出时的字段宽度,而不是一开始就写死输出宽度,可以使用 * 修饰,用相关参数代替。 // 1.printf 和 * int width = 6; // 字段宽度 int precision = 5; // 小数点位数 printf("%*d\n", width, 123); printf("%.*lf\n", precision, 123.456);2.s

2022-01-10 15:33:55 307

原创 C语言复习——一些不常用的函数及数据类型、题型总结

1.数学函数#include<math.h>​sqrt(n); // 开平方根pow(a, n); // a的n次方fabs(n); // 求绝对值2.输入输出函数// 字符getchar(); // 返回输入的单个字符,可以为通过ASCII转换的整数、各种控制/转义字符putchar();​// 字符串gets(); // 返回输入的字符串,可包括空格puts();3.字符串相关函数#include<string.h>...

2022-01-05 00:28:21 744

原创 如何将数组初始化为同一值?(对数组所有元素进行赋相同值)(C/C++实现)

1.直接用 { 0 } 初始化数组// 法一int arr[5] = { 0 };局限该方法仅可将数组元素初始化为0若初始化为其他数字,仅有首元素可被初始化为该数字,其余元素自动初始化为0// 错误!仅可对数组首元素初始化为666int arr[5] = { 666 };2.用for循环对数组元素进行一一赋值int arr[5];for (int i = 0; i < 5; i++){ arr[i] = 666;}局限使

2022-01-04 22:25:43 16003 1

原创 如何删除链表的倒数第N个结点?(双指针法/快慢指针)(C++实现)

题目条件已给出链表结点结构体的定义一个链表结点包含 一个数据域、一个指针域还有三种创建新结点的方法// 链表结点伪代码// Definition for singly - linked list.struct ListNode { int val; ListNode* next; ListNode() : val(0), next(nullptr) {} ListNode(int x) : val(x), next(nullptr) {} L.

2021-12-24 17:19:00 446

空空如也

空空如也

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

TA关注的人

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