![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指Offer
AndrewsXc
这个作者很懒,什么都没留下…
展开
-
剑指Offer题解(一)数字问题
剑指Offer比较适合校招同学练手,校招过程中也临时抱佛脚刷了这60多道题,开此博客谨为记录下个人粗浅的题解。数字问题中有很多小trick,一般是从二进制和位运算的角度入手。#include<vector>using namespace std;#pragma region 二进制中1的个数 二进制//输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。#pr...原创 2018-09-26 15:32:54 · 303 阅读 · 0 评论 -
剑指Offer题解(二)数组问题
#include<vector>using namespace std;#pragma region 二维数组中的查找 二维数组//在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,//每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。#pragma endregioncla...原创 2018-09-26 15:43:40 · 185 阅读 · 0 评论 -
剑指Offer题解(三)字符串问题
#include<vector>using namespace std;// getline(cin, str); //一行一行输入可输入空格#pragma region 替换空格 字符串//请实现一个函数,将一个字符串中的每个空格替换成“%20”。//例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。#pragma...原创 2018-09-26 15:54:08 · 130 阅读 · 0 评论 -
剑指Offer题解(四)栈与队列
#include<stack>#include<vector>using namespace std;#pragma region 用两个栈实现队列 栈 队列//用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。#pragma endregionclass Solution{public: void push(in...原创 2018-09-26 15:55:42 · 104 阅读 · 0 评论 -
剑指Offer题解(五)斐波那契数列问题
采用循环解决一般效率更高using namespace std;#pragma region 斐波那契数列 递归 循环//大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。#pragma endregionclass Solution {public: int Fibonacci(int n) { if (n<2) ...原创 2018-09-26 15:58:03 · 263 阅读 · 0 评论 -
剑指Offer题解(六)链表问题
#include<vector>#include<stack>using namespace std;#pragma region 从尾到头打印链表 链表 栈 可以递归//输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。#pragma endregionstruct ListNode { int val; struct List...原创 2018-09-26 15:59:30 · 154 阅读 · 0 评论 -
剑指Offer题解(七)二叉树相关问题
#include<vector>using namespace std;struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *right; struct TreeLinkNode *next; TreeLinkNode(int x) :val(x), left(NU...原创 2018-09-26 16:02:57 · 202 阅读 · 0 评论 -
剑指Offer题解(八)回溯法
#include<vector>using namespace std;#pragma region 矩阵中的路径 矩阵 二维数组 回溯//请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。//路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。//如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这...原创 2018-09-26 16:07:52 · 199 阅读 · 0 评论 -
剑指Offer题解(九)堆与优先队列
#include<queue>#include <functional> // std::greaterusing namespace std;#pragma region 数据流中的中位数 priority_queue 最大堆 最小堆//如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。//如果从...原创 2018-09-26 16:09:40 · 245 阅读 · 0 评论