剑指offer 连续子数组的最大和 Posted on 2019-02-21 | 连续子数组的最大和题目类似于Leetcode 53. 最大子序和Lmin) HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数, ... Read more »
剑指offer 最小的K个数 Posted on 2019-02-21 | 最小的K个数题目输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 方法题目多有条件限制,在做题之前请先做好考虑,进行排查。 可以采用内建函数,也可以自行写排序算法。 12345678910# -*- coding:utf-8 ... Read more »
剑指offer 把二叉树打印成多行 Posted on 2019-02-21 | 把二叉树打印成多行题目从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 方法方法1:宽度优先遍历1234567891011121314151617181920212223242526# -*- coding:utf-8 -*-# class TreeNode:# def __ ... Read more »
剑指offer 按之字形顺序打印二叉树 Posted on 2019-02-21 | 按之字形顺序打印二叉树题目请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 方法12345678910111213141516171819202122232425262728# -*- coding:ut ... Read more »
剑指offer 对称的二叉树 Posted on 2019-02-21 | 对称的二叉树题目请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 方法12345678910111213141516171819202122# -*- coding:utf-8 -*-# class TreeNode:# def ... Read more »
剑指offer 平衡二叉树 Posted on 2019-02-21 | 平衡二叉树题目输入一棵二叉树,判断该二叉树是否是平衡二叉树。 方法方法1123456789101112131415161718192021222324# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# ... Read more »
剑指offer 二叉树的深度 Posted on 2019-02-21 | 二叉树的深度题目输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 方法方法1:递归123456789101112131415# -*- coding:utf-8 -*-# class TreeNode:# def __i ... Read more »
剑指offer 从上到下打印二叉树 Posted on 2019-02-21 | 从上到下打印二叉树题目从上往下打印出二叉树的每个节点,同层节点从左至右打印。 方法1234567891011121314151617181920212223# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# ... Read more »
剑指offer 二叉树的镜像 Posted on 2019-02-21 | 二叉树的镜像题目操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:123456789101112二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 ... Read more »
剑指offer 重建二叉树 Posted on 2019-02-21 | 重建二叉树题目输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 方法1234567891011121314151 ... Read more »