算法刷题
xmy1208945213
这个作者很懒,什么都没留下…
展开
-
剑指offer-包含min函数的栈
题目介绍: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 因为自己算法水平真的是很菜,不入流的那种,一开始看到这题,下意识的就是想着不就是绕圈圈打印一遍吗,太简单了,可是...原创 2019-09-01 13:25:30 · 93 阅读 · 0 评论 -
剑指offer-栈的压入、弹出序列
题目介绍 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 这个题目要求给定两个等长序列,第一个为元素进栈的顺序序列,第二个是元素出栈的顺序序...原创 2019-09-01 16:03:26 · 68 阅读 · 0 评论 -
剑指offer- 二叉搜索树的后序遍历序列
题目介绍 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 具体思路 其实这个题目的思路并不难,只要知道后续遍历的思维以及二叉搜索树的特性即可轻松破解。由于是后序遍历,一般来说数组中的最后一位为根节点,而根节点的左子树部分则位于后序遍历序列的前半段,而在根节点与左子树中间的部分即为二叉搜索树的右子树。 [...原创 2019-09-01 22:48:12 · 71 阅读 · 0 评论 -
剑指Offer-二叉搜索树与双向链表
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 非递归版本 此题要求将一颗二叉搜索树转化为有序的双向链表,考虑到二叉搜索树的特点,可以用中序遍历将二叉搜索树的节点有序的存储在一个数组中,然后依次遍历,改变节点的指针即可。 # -*- coding:utf-8 -*- # class TreeNode: # d...原创 2019-09-10 15:06:46 · 73 阅读 · 0 评论 -
剑指offer-连续子数组的最大和
题目描述 在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和。(子向量的长度至少是1) 此题可以用递归思想来解决,具体思路如下: 假设...原创 2019-09-15 10:43:35 · 75 阅读 · 0 评论