![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
redevilsss
这个作者很懒,什么都没留下…
展开
-
《剑指offer》41~45
面试题41:数据流的中位数#include<iostream>#include<vector>#include<queue>#include<functional>using namespace std;//题目:数据流的中位数/* 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值, * 那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Inse原创 2020-07-12 00:55:44 · 144 阅读 · 0 评论 -
《剑指offer》36~40
36和37被我搞反了,不过不影响阅读面试题36:序列化二叉树#include <iostream>#include <vector>#include <string>#include <queue>using namespace std;/** 题目:二叉树的序列化和反序列化* 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,* 采取相原创 2020-07-08 18:38:41 · 135 阅读 · 0 评论 -
《剑指offer》 31~35题
面试题31:栈的压入 弹出序列#include<iostream>#include<vector>#include<stack>using namespace std;//题目:栈的压入 弹出序列/** 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。* 假设压入栈的所有数字均不相等。* 例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,* 但原创 2020-06-28 00:54:08 · 145 阅读 · 0 评论 -
《剑指offer》 26~30
面试题26:树的子结构#include<iostream>using namespace std;//题目:树的子结构//输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)//B是A的子结构, 即A中有出现和B相同的结构和节点值。//思路:/** 这类问题其实归根结底是递归问题,什么时候可以继续比较,什么时候返回错误* 首先从根节点开始,比较A树和B树的根节点值是否一样,如果一样,则说明B有可能是A子树* 而如果不一样,则说明B不是A的子原创 2020-06-27 18:09:38 · 109 阅读 · 0 评论 -
《剑指offer》 21~25
面试题21 调整数组顺序使奇数在前偶数在后#include<iostream>#include<vector>using namespace std;//题目:调整数组顺序使奇数在前偶数在后/*输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。*///对顺序无要求的情况下,可以采用交换元素的方式进行,这种方式效率高,但是数字的相对顺序会发生变化/** 分别设置头尾指针,头指针和尾指针向原创 2020-06-26 17:19:53 · 89 阅读 · 0 评论 -
剑指offer 16~20
面试题16:数值的整数次方//题目:数值的整数次方/*给定一个double类型的浮点数x和int类型的整数n。求x的n次方。保证x和n不同时为0*///牛客:https://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00?tpId=13&&tqId=11165&rp=1&ru=/activity/oj&qru=/ta/coding-interviews/question-ranki原创 2020-06-14 19:12:26 · 101 阅读 · 0 评论 -
剑指offer 11~15
面试题11:旋转数组的最小元素#include<iostream>#include<vector>using namespace std;//题目:找出旋转数组的最小元素//思路:/** 这道题如果直接遍历找最小值就没意思了,题目的本意应该是通过二分查找来解决问题* 举例分析:假设数组为{3,4,5,0,1,1,2} 可以看到旋转过的数组由两个非递减序列构成,最小数为第二个序列的头* 且前一个序列的任意数字都大于等于第二个序列的任意数字* 最小元素的特性为:原创 2020-06-05 18:47:45 · 135 阅读 · 0 评论 -
剑指offer 6~10
面试题6:从尾到头打印链表#include<iostream>#include<vector>#include<stack>using namespace std;//题目://从尾到头打印链表元素//思路:/** 看到逆序,就要想到栈,想到递归* 如果用栈,就是使用了额外的空间,先从头到尾把元素进栈,再将元素倒出,即可完成逆序* 递归的原理其实也是栈,递归就是自己调用自己,一层层的深入,直到满足递归终止条件,再边执行操作边返回*///原创 2020-06-04 18:34:07 · 288 阅读 · 0 评论 -
剑指offer题解 3~5
第3题:数组中的重复元素 -1#include<iostream>#include<vector>using namespace std;/*面试题3-1:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 * 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。* 请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},* 那么对应的输出是第一个重复的数字2。*///牛客网址:http原创 2020-06-04 00:23:33 · 203 阅读 · 1 评论