自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法040(必备)——N皇后问题

研究的是如何将n个皇后放置在n × n的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数n,返回不同的解决方案的数量。

2024-08-16 20:34:21 392

原创 算法038(必备)——常见经典递归过程解析

将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现了栈中元素的逆序,请设计一个算法实现逆序栈的操作,但是只能用递归函数来实现,而不能用另外的数据结构。3.字符串里面可能有重复字符,但是返回的子序列不能有重复的子序列,比如"aab"的子序列只有"","a","aa","aab","ab","b",不能存在2个相同的"ab"1.子序列: 指一个字符串删掉部分字符(也可以不删)形成的字符串,可以是不连续的,比如"abcde"的子序列可以有"ace","ad"等等。返回的解集中,子集可以按。

2024-08-16 15:18:52 1002

原创 算法039(必备)——嵌套类问题的递归解题套路

返回所有原子的数量,格式为:第一个(按字典序)原子的名字,跟着它的数量(如果数量大于 1),然后是第二个原子的名字(按字典序),跟着它的数量(如果数量大于 1),以此类推。输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。如果数量大于 1,原子后会跟着数字表示原子的数量。原子总是以一个大写字母开始,接着跟随 0 个或任意个小写字母,表示原子的名字。遍历完后,注意可能的尾部原子遗漏问题(遍历过程中,需要遇到字母才会更新容器)此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数。

2024-08-16 09:11:15 707

原创 算法018(入门)——二叉树的三种非递归遍历

结合前序遍历的性质(头左右)可知,需要容器存储已经遍历过的节点以便于找到后面的节点,并结合遍历的顺序可知需要不断记录左再遍历左的左。而这一特征与栈的后进先出(接收左后,先加入右再加入左,一直保持左后进先出)的性质一致。分析前序遍历的方式,走完头再遍历左右(头弹出再进右左);,需要容器存储已经遍历过的节点以便于找到后面的节点,而栈的性质(后进先出)正好满足这一特点。结合前序遍历的顺序(头左右),将其改为头右左后将vec反转。结合前序遍历的性质(左头右)可知,需要不断找到。后序遍历顺序:左右头;

2024-08-14 14:33:38 362

原创 算法016(入门)——双端队列

设计实现双端队列。实现ktruefalsetruefalsetruefalsetruefalse-1-1truefalsetruefalse。

2024-08-14 08:15:10 122

原创 算法015(入门)——最小栈

设计一个支持pushpoptop操作,并能在常数时间内检索到最小元素的栈。实现MinStackMinStack()void pop()int top()

2024-08-14 07:58:25 102

原创 算法014(入门)——栈和队列的相互实现

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(pushpoppeekempty):实现MyQueueint pop()int peek()truefalsesizeis empty。

2024-08-13 20:47:32 411

原创 算法012(入门)——划分链表

给你一个链表的头节点head和一个特定值x,请你对链表进行分隔,使得所有x的节点都出现在x的节点之前。你应当两个分区中每个节点的初始相对位置。

2024-08-13 20:00:18 204

原创 算法011(必备)——两个链表相加

给你两个的链表,表示两个非负的整数。它们每位数字都是按照的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

2024-08-13 17:35:40 198

原创 算法010(必备)——合并两个有序链表

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

2024-08-13 17:27:01 151

原创 算法036(必备)二叉树高频题目——上

给你二叉树的根节点root,返回其节点值的。(即逐层地,从左到右访问所有节点)。

2024-08-13 14:54:33 1169

原创 算法037(必备)二叉树高频题目——下

中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(若左的最大值≥root的值和右的最小值≤root的值,则返回false;改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。所以结果应当返回修剪好的二叉搜索树的新的根节点。

2024-08-11 21:09:28 702

原创 Linux知识点

创建时,文件 默认666,目录默认777,减去umask的位就是结果。umask是从权限中“拿走”相应的位,且文件创建时不能赋予执行权限.more命令:分屏显示文件内容,每次只显示一屏,只允许向前浏览。top命令可以看到总体的系统运行状态和cpu的使用率。less命令:与more相似,并且支持向前,向后浏览。cat命令:将文件内容一次全输出显示在屏幕上。

2024-08-01 16:38:36 183

原创 初识C++||Day03:内联函数,auto和NULL

在使用链表和二叉树时,需要修改节点内的指针指向的内容,此时引用无法替代指针。

2024-05-15 22:15:35 342

原创 初识C++||Day02:函数重载和引用

quest1:下列代码运行结果是什么?answer:结果输出2,namespace中的函数会向namespace域中查找i,而无法向其他区域查找,其他区域定义的i会在其区域将namespace中的i覆盖。

2024-05-09 19:07:48 192

原创 初识C++||Day01:

包含文件后,可以在C++中使用C语言的语法。

2024-05-04 21:48:40 335

原创 初识C语言~第六节:函数

函数的基本语法:返回类型 函数名(形式参数列表){};{}中的是函数体,用以实现函数的功能。返回类型是调用函数后返回的数据的类型。在创建一个小程序的时候,我们通常直接将函数的声明与定义写入同一个文件函数声明:图片中顶部的两行代码就是函数声明,也就是函数定义除去函数体部分,当然声明时参数部分的变量名也可以省略。由于编译器是逐行执行的,倘若将函数定义放在函数调用之后,且之前缺少函数声明,编译器就会报错。而在之前加入函数声明后,向编译器声明函数的存在,编译器就会继续向下查找函数定义的存在。

2024-02-20 20:50:31 485

原创 初始C语言~第四节:猜数字游戏

猜数字游戏:由电脑生成并给定范围,当玩家输入的数字小于(大于)实际数字时,”猜小(大)了“,游戏继续,直到玩家输入正确数字,游戏结束。游戏结束后,玩家可以决定。

2024-02-16 20:42:31 301 1

原创 初识C语言~第七节:扫雷游戏

通过控制台实现扫雷游戏,游戏可以通过菜单实现游戏的开始和退出。扫雷游戏的棋盘默认为9x9的大小,共有10个雷,通过输入坐标排查雷,若坐标非雷,显示坐标周围一圈雷的个数,否则游戏结束,将所有非雷的坐标排查出来,则排雷成功,游戏结束。

2024-01-19 20:49:59 453

原创 初识C语言~第三节:分支与循环

C语言是一种结构化的程序设计语言,共可实现三种语言结构:顺序结构、选择(分支)结构和循环结构。C语言中用if和switch实现分支结构,用for、while和do while实现循环结构。

2024-01-18 21:15:32 939 1

原创 初识C语言~第一节:C语言基础知识

今天我们开始学习初始C语言的第一节内容:C语言基础知识下面我们来看一段代码:???为什么一上来就是一段代码?因为我想通过问题和实际的代码来进行讲述内容。

2023-12-25 19:33:49 200

空空如也

空空如也

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

TA关注的人

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