剑指offer
Nannie_V
这个作者很懒,什么都没留下…
展开
-
[python版]剑指offer --滑动窗口最大值
题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5...原创 2018-12-15 11:59:57 · 121 阅读 · 0 评论 -
[python版]剑指offer -- 二叉搜索树的第k大结点
剑指offer(python版)-- 二叉搜索树的第k大结点 思路 二叉搜索树按照中序遍历的顺序打印出来正好就是排序好的顺序。 所以,按照中序遍历的第k个结点就是结果。 注:本题返回的是结点,而不是结点值。 实现代码 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val =...原创 2018-12-11 00:23:12 · 229 阅读 · 0 评论 -
[python版]剑指offer -- 重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 代码实现 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): #...原创 2018-12-11 11:46:52 · 168 阅读 · 0 评论 -
(C++版)剑指offer——机器人的运动范围
题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子? 思路 回溯法,DFS 代码 int movx...原创 2019-01-07 21:22:11 · 336 阅读 · 0 评论 -
(C++版)剑指offer——对称的二叉树
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路 本文分递归与非递归两种方式实现 /*递归 思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同 * 左子树的右子树和右子树的左子树相同即可 */ class Solution { public: bool Compare(TreeNode* le...原创 2019-01-08 10:51:21 · 282 阅读 · 0 评论