剑指offer;
phoebe寻常
南开大学计算机方面硕士一枚~研究方向机器学习,模式识别。请大家多多指教~
展开
-
剑指offer-最长无重复子串的长度
剑指offer-最长无重复子串的长度题目描述:从字符串中找出一个最长的不包含重复字符的子字符串,计算其长度。如arabcacfr中,最长无重复的子串是acfr,长度为4。题目解析:这道题可以利用动态规划的手段去解决。设 f(i) 就是以i字符结尾的最长无重复子串。那么就有两种情况:1. i之前没有出现过。很容易理解 f(i) = f(i-1) + 1,如上面原创 2018-01-04 22:01:40 · 380 阅读 · 0 评论 -
剑指offer-滑动窗口的最大值
剑指offer-滑动窗口的最大值数组长度为N,时间复杂度为O(N)的解法需要解决的两个问题: 1、如何求当前窗口中的最大值2、如何判断已经滑离当前窗口,需要弹出操作主要思路:利用C++ STL模板库中的 deque(双端队列)去解决双端队列的操作:push_back():在队列尾部压入 pop_back() : 从队列尾部弹出 pop_front()原创 2017-12-27 19:52:42 · 176 阅读 · 0 评论 -
剑指offer-二叉搜索树的后序遍历序列
剑指offer-二叉搜索树的后续遍历序列题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。题目解析:这道题首先要先明确二叉搜索树的性质。二叉搜索树(二叉查找树):每棵子树的头结点的值比各自左子树上所有的结点值都要大,比各自右子树上的所有结点值要小。因此二叉搜索树用中序遍原创 2018-01-12 20:51:01 · 216 阅读 · 0 评论 -
剑指offer-和为S的连续正数序列
剑指offer-和为S的连续正数序列题目描述:输入一个正数,输出所有和为s的连续正数序列(至少有两个数)。题目解析:这道题可以用设置两个指针的方法去解决。设置small=1,big=2。如果当前的和大于s,就small向前移动一次,然后继续判断;如果当前和小于s,就big向前继续移动;如果当前和为s,进行输出操作。循环终止的条件为small>=middle( middle = (1原创 2017-12-28 22:56:09 · 191 阅读 · 0 评论 -
剑指offer-对称二叉树
剑指offer-对称的二叉树题目描述:实现一个函数,用来判断一棵二叉树是不是对称的。如果一个二叉树和它的镜像一样,那么它就是对称的。题目解析:这道题首先要先确定什么样的二叉树是对称的,之前我有一些理解上的误解, 认为像(a)这种是对称的。但其实是不对的,因为镜像的话要反过来。 1 1原创 2018-01-03 21:39:39 · 227 阅读 · 0 评论 -
剑指offer-栈的压入、弹出序列
剑指offer-栈的压入、弹出序列题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)题目解析:这道题主要是用一个额外的原创 2018-01-13 23:03:24 · 253 阅读 · 0 评论