feng_zhiyu的博客

http://www.fzhiy.com/ 欢迎关注我的博客,期待与大家一起学习~

剑指Offer题解

个人博客:枫之羽 github源码地址:剑指Offer——github地址 题目 题解链接 备注 二维数组中的查找 题解 顺序遍历 替换空格 题解 两次遍历 从尾到头打印链表 题解 栈,递归 重建二叉树 题解 二叉树遍...

2018-07-01 18:56:29

阅读数 400

评论数 0

【剑指Offer】和为S的连续正数序列

题目链接 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你...

2018-11-30 23:06:16

阅读数 49

评论数 0

【剑指Offer】和为S的两个数字

题目链接 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。 分析: 数组递增,两数和为定值时,要使两数乘积最小,所以顺序查找,第一组和为S的两个数即为...

2018-11-30 23:05:51

阅读数 51

评论数 0

【剑指Offer】第一个只出现一次的字符

题目链接 题目描述 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 分析:简单计数并记录字符对应的位置 class Solution { p...

2018-10-03 20:49:43

阅读数 42

评论数 0

【剑指Offer】二叉树中和为某一值的路径

题目链接 题目描述 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 分析:递归。 不过我想到的还需要排序,因为要使数组长度大的数组靠前 ...

2018-10-03 20:49:24

阅读数 50

评论数 0

【剑指Offer】栈的压入、弹出序列

题目链接 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意...

2018-10-03 20:48:06

阅读数 38

评论数 0

【剑指Offer】数组中重复的数字

题目链接 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 分析...

2018-10-03 19:59:12

阅读数 32

评论数 0

【剑指Offer】二叉树的深度

题目链接 题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 分析:递归即可。当然也可以写成非递归的形式 /* struct TreeNode { int val; struct TreeNo...

2018-09-27 21:59:29

阅读数 331

评论数 1

【剑指Offer】把数组排成最小的数

题目链接 题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 分析:拼接乘最小数字,不能是比较数字的大小,例如:3<32&am...

2018-09-27 21:58:58

阅读数 119

评论数 1

【剑指Offer】数组中只出现一次的数字

题目链接 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。 分析:之前做过简单一些的 数组中只有一个数字出现奇数次,明显可以通过异或运算求得。 那么有个数两只出现一次。思想也是异或运算。先求出所有整数的异或和,求得的结果sum表示两个...

2018-09-27 21:58:20

阅读数 121

评论数 1

剑指Offer题解【Python版】【LintCode】

个人博客:枫之羽 《剑指Offer》 说明:题目顺序和LintCode中的顺序相同。 目录 9. Fizz Buzz 问题 366. 斐波纳契数列 204. 单例 212. 空格替换 365. 二进制中有多少个1 35. 翻转链表 159. 寻找旋转排序数组中的最小值 73....

2018-09-14 12:07:14

阅读数 205

评论数 0

【剑指Offer】包含min函数的栈

题目链接 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 思路:题目要求时间复杂度为O(1),这里需要采用辅助栈st2,维护st2是从大到小的栈(从底端到顶端),min()返回顶端元素即是题目所求。  ps:两个栈的长度是否...

2018-09-01 10:58:33

阅读数 56

评论数 0

【剑指Offer】顺时针打印矩阵

题目链接 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下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. ...

2018-09-01 10:58:29

阅读数 24

评论数 0

【剑指Offer】不用加减乘除做加法(位运算)

题目链接 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路:位运算符 两个数异或(^):相当于每一位相加,而不考虑进位; 两个数相与(&),并左移一位:相当于求得进位; 将上述两步的结果相加 代码【非递归】: c...

2018-08-28 12:02:04

阅读数 35

评论数 0

【剑指Offer】求1+2+3+...+n(逻辑运算和位运算)

题目链接 题目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路:虽然是简单的求和公式n*(n+1)/2,但是必须满足以上的条件。 【1】递归,不能使用if等条件判断语句,可以使用&am...

2018-08-28 12:01:56

阅读数 270

评论数 0

【剑指Offer】连续子数组的最大和

题目链接 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2...

2018-08-28 12:01:39

阅读数 42

评论数 0

【剑指Offer】最小的K个数

题目链接 题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 思路: 【1】快速排序 【2】堆排序(优先队列实现最小堆) ps:注意k>n的情况 代码【1】: class So...

2018-08-28 12:01:09

阅读数 72

评论数 0

【剑指Offer】数组中出现次数超过一半的数字

  题目链接 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 思路: 一、使用map计数,超过一半就输出该值。空间...

2018-08-27 02:24:01

阅读数 29

评论数 0

【剑指Offer】树的子结构

题目链接 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路: 例如图中的两棵二叉树,由于A中有一部分子树的结构和B是一样的,因此B是A的子结构。 要查找树A中是否存在和树B结构一样的子树,可以分成两步: 第一步在树A中找到和...

2018-08-27 00:33:06

阅读数 30

评论数 0

【剑指Offer】合并两个排序的链表

题目链接 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:边比较大小,边移动链表指针,两种写法:递归,非递归 代码【非递归】: /* struct ListNode { int val; struct ListNode ...

2018-08-27 00:32:12

阅读数 46

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭