自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 合并有序链表

今天的问题是链表的合并。使连接起来的链表依然有序。所以我们创建一个新的节点,两个链表比较,小的接在新节点后面,最后可能两个链表不一样长,我们去剩下的那个接在新的链表后面即可。/** * struct ListNode { * int val; * struct ListNode *next; * }; */class Solution {public: /** * * @param l1 ListNode类 * @param l2 ListNod.

2020-12-04 17:55:53 93 1

原创 二叉树的层次遍历

题解题目抽象:给出一颗二叉树,按照从上到下,从左到右的顺序遍历节点。也就是从上到下一层一层的遍历。这道题就是一个模板题,对队列的使用。因为要满足先进先出的特性。初始化:一个队列queue<TreeNode*> q, 将root节点入队列q如果队列不空,做如下操作:弹出队列头,保存为node,将node的左右非空孩子加入队列做2,3步骤,直到队列为空如果不需要确定当前遍历到了哪一层,模板如下:void bfs() { vis[] = 0; queue<int.

2020-12-01 22:25:18 179

原创 利用快速排序来寻找第K大的数

这里我们先介绍一下快速排序。快速排算法主要就是选取一个基数,使大于这个基数的放在基数右侧。小于这个基数的数放在基数左侧。然后循环递归下去。快速排序的算法代码如下:void quicksort(vector<int> &tmp, int left, int right){ if(left>=right) return; int i,j; i = left; j = right; int base = .

2020-11-28 20:14:33 640

原创 实现二叉树的前序中序后序遍历

三种方式实现二叉树的遍历方式实现二叉树遍历一般用递归方式进行遍历。前序遍历顺序为根->左->右。中序遍历:左->根->右。后序遍历为->左->右->根。所以三种遍历方式代码如下:/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */class Solution {public: /** *

2020-11-27 15:52:14 104

原创 快慢指针判断链表是否有环

快慢指针判断链表是否有环对于这个问题我们可以采用“快慢指针”的方法。就是有两个指针fast和slow,开始的时候两个指针都指向链表头head,然后在每一步操作中slow向前走一步即:slow = slow->next,而fast每一步向前两步即:fast = fast->next->next。由于fast要比slow移动的快,如果有环,fast一定会先进入环,而slow后进入环。当两个指针都进入环之后,经过一定步的操作之后二者一定能够在环上相遇,并且此时slow还没有绕环一圈,也就是说一

2020-11-26 19:53:23 621

原创 自动机

利用自动机编辑字母的拼写错误假设我们现在有一串字母字符串,现在我们要发现其中的错误。1、三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello;2、两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello;3、上面的规则优先“从左到右”匹配,即如果是AABBCC,虽然AABB和BBCC都是错误拼写,应该优先考虑修复AABB,结果为AABCC。这种题目我们可以用自动机来进行解题。#i

2020-05-25 21:36:00 177

原创 牛客网利用结构体数组进行矩形重叠

题目平面内有n个矩形, 第i个矩形的左下角坐标为(x1[i], y1[i]), 右上角坐标为(x2[i], y2[i])。如果两个或者多个矩形有公共区域则认为它们是相互重叠的(不考虑边界和角落)。请你计算出平面内重叠矩形数量最多的地方,有多少个矩形相互重叠。输入描述:输入包括五行。第一行包括一个整数n(2 <= n <= 50), 表示矩形的个数。第二行包括n个整数x1[...

2020-04-24 18:17:34 173

原创 如何利用vector的嵌套来进行二维数组的创建

最近做牛客网很多笔试题,都遇见了二维数组的输入,所以介绍一下自己学习的利用vector进行二维数组的创建

2020-04-20 09:14:38 469

原创 截取字符串并存入vector容器中

给定一串字符串,如何截取特定长度的字符串并存入容器中首先我们输入一串字符串,字符串之间用逗号隔开,假如我们想要将每个逗号隔开的字符串分别存起来,并输出排序后的各段字符串。例如:abc,defg,bhd,那么输出就是abc bhd defg。代码如下:#include <bits/stdc++.h>using namespace std;int main(){ ve...

2020-04-20 01:17:56 2271

空空如也

空空如也

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

TA关注的人

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