数据结构和算法
数据结构以及各种算法题目专栏
举个锤子²³³³
个人博客网站:https://www.jhxblog.cn
展开
-
二叉树剪枝——LeetCode
题目描述给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。返回移除了所有不包含 1 的子树的原二叉树。( 节点 X 的子树为 X 本身,以及所有 X 的后代。)示例:示例1:输入: [1,null,0,0,1]输出: [1,null,0,null,1]解释:只有红色节点满足条件“所有不包含 1 的子树”。右图为返回的答案。示例2:输入: [1...原创 2020-04-09 12:15:51 · 761 阅读 · 0 评论 -
只有两个键的键盘——LeetCode
题目描述最初在一个记事本上只有一个字符 ‘A’。你每次可以对这个记事本进行两种操作:Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的)。Paste (粘贴) : 你可以粘贴你上一次复制的字符。给定一个数字 n 。你需要使用最少的操作次数,在记事本中打印出恰好 n 个 ‘A’。输出能够打印出 n 个 ‘A’ 的最少操作次数。示例:输入: 3输...原创 2020-03-28 12:19:56 · 315 阅读 · 0 评论 -
二叉树的中序遍历(递归实现)——LeetCode
题目描述给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]1 \ 2 /3输出: [1,3,2]原创 2020-03-09 22:42:32 · 498 阅读 · 1 评论 -
C语言strstr()函数使用注意事项
最近在写一段C语言代码时用到了strstr()函数,遇到了一个意想不到的问题,记录一下。这个函数接收两个参数,strstr(str1,str2)函数具体功能是检测str2是否为str1的子集,如果是则返回str1首次出现的地址,否则返回NULL。一开始调用这个函数的时候没想太多,直接使用后发现有些情况下尽管str2是str1的子集,函数返回值也是NULL。经过排查后发现如果在传入参数str1的...原创 2019-04-17 22:25:28 · 3422 阅读 · 0 评论 -
考研操作系统常用算法归纳
进程管理处理器调度作业调度先来先服务:按照进入就绪队列的先后顺序分配处理机短作业优先:就绪队列中最快完成的作业获得处理机优先级调度:就绪队列中优先级最高的作业获得处理机(分抢占式和非抢占式)高响应比优先:考虑作业的等待时间和运行时间,高响应比作业获得处理机。响应比=(作业等待时间+估计运行时间)/估计运行时间进程调度先来先服务:同上短作业优先:同上优先级调度:同上时间片...原创 2019-11-16 17:01:46 · 370 阅读 · 0 评论 -
二叉树求根节点到其他节点距离
题目要求给定一棵二叉树,假设其结点个数为n,结点的编号为1~n,且根节点的编号为1,试编写程序求从根节点到其他每个结点的距离。要求:用左右链的方式存储树结构。输入格式:第一行为一个整数n,表示树的结点的个数,n<1000下面n行中,每行都有两个整数a和b,其中第i行表示编号为i的结点的左孩子结点的编号为a,右孩子结点的编号为b。当a=0时,表示结点i没有左孩子:当b=0时,表示结点i...原创 2019-12-10 09:46:23 · 2745 阅读 · 10 评论 -
判断图的连通子图个数
题目要求给定一个具有n个顶点、m条边的无向图G,假设项点的编号为1-n。基于深度优先搜索算法,编写程序求无向图G连通子图的个数。输入格式:第一行两个整数n, m,分别表示图G的顶点数和边的数量。下面m行的每-行有两个整数a和b,分别表示顶点a和顶点b有一条边相连。输出格式:输出一个整数,表示图G中连通子图的数量。输入样例:5 31 21 34 5输出样例:2思路由于...原创 2019-12-10 18:48:46 · 4226 阅读 · 4 评论 -
删除链表的倒数第N个节点——LeetCode
题目描述给定一个链表(单链表),删除链表的倒数第 n 个节点,并且返回链表的头结点。假设给定的n是有效的。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.方法一:算法思想: 进行两趟扫描,第一趟扫描累加出链表总长度,第二趟扫描循环次数为 链表长度-n。扫描完成后指...原创 2020-02-22 17:28:17 · 177 阅读 · 0 评论