- 博客(4)
- 收藏
- 关注
原创 重邮复试题——单行隧道超车问题
重邮复试题——隧道超车 设置m为车辆数,in数组为入隧道排序,out数组为出隧道排序 基本思想: 某一辆车发生了超车,后面车辆的正常(没超车)的出隧道序列是不应该改变的 代码原理: 如果out[0] == in[0]说明没有发生超车,把out[0],in[0]弹出,继续访问out[0]和in[0] 如果out[0] != in[0]说明发生了超车,记录+1,out[0]弹出,删除in中等于out[0]的元素,继续重复上述操作 但是由于在in中删除某个元素花销太大,所以使用一个visit数组来查看某个元素
2021-06-09 17:35:54
267
原创 二叉树的前序、中序、后续遍历及非递归实现代码(C++实现)
树的结构定义 每一个树节点包括自己存储的数据和左右孩子的地址。 struct treenode { int data; //默认存储int类型,需要更改模板类 treenode* left; treenode* right; treenode() :data(0), left(nullptr), right(nullptr) {} treenode(int data) :data(data), left(nullptr), right(nullptr) {} };
2020-11-26 00:00:32
242
原创 KMP算法实现(无缩进,基于C)
1.串数据存储 使用string字符串进行数据存储,串头不需要计数字符总数,也就是不需要将所有字符后退一位。 2.匹配方式 设现字符S1=“s1,s2,s3....sn”为主串,S2="s1,s2,s3....sm"为匹配串,将S2串成为模式串,再S1中寻找完全等于S2的子串。NEXT数组存储 S2每一个元素失配时,可以可以让S1从字符串首回溯的个数。(默认各位理解next数组含义) void getnext(string s,int next[]) { int len = s.size(); /
2020-11-25 23:17:15
131
原创 新手必备知识点,++i和i++的区别
@[TOC]新手必备知识点,++(这里写自定义目录标题) 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮...
2019-07-27 08:56:50
273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人