随笔分类 -  剑指offer

摘要:题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 示例 输入 [1,2,3,2,2,2,5,4,2] 返回值 2 知识点回顾 暴 阅读全文
posted @ 2020-11-25 20:02 foolangirl 阅读(89) 评论(0) 推荐(0)
摘要:题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向 知识点 递归 比如将二元查找树 10 / \ 6 14 / \ / \ 4 8 12 16转换成双向链表4=6=8=10=12=14=16。 1.二叉树中序遍历的结果与链表的顺 阅读全文
posted @ 2020-11-24 21:22 foolangirl 阅读(71) 评论(0) 推荐(0)
摘要:题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长 阅读全文
posted @ 2020-11-23 20:22 foolangirl 阅读(91) 评论(0) 推荐(0)
摘要:题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 示例 输入 {1,3,5},{2,4,6} 返回值 {1,2,3,4,5,6} 知识点回顾 排序链表合并 代码 #递归法# -*- coding:utf-8 -*- # class ListNod 阅读全文
posted @ 2020-11-19 21:05 foolangirl 阅读(110) 评论(0) 推荐(0)
摘要:题目描述 输入一个链表,反转链表后,输出新链表的表头。 示例 输入 {1,2,3} 返回值 {3,2,1} 知识点回顾 链表反转:递归法;迭代法 代码 #用递归的方式# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # 阅读全文
posted @ 2020-11-18 21:00 foolangirl 阅读(75) 评论(0) 推荐(0)
摘要:题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 保证base和exponent不同时为0 示例 输入 2,3 返回值 8.00000 知识点回顾 pow(x, y)=x^y 代码 # -*- coding:utf-8 -*- 阅读全文
posted @ 2020-11-18 19:34 foolangirl 阅读(74) 评论(0) 推荐(0)
摘要:题目描述 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 示例 输入 10 返回值 2 知识点回顾 与操作:给定一个数n,每进行一次n&(n-1)计算,其结果中都会少了一位1,而且是最后一位 代码 # -*- coding:utf-8 -*- class Solution: 阅读全文
posted @ 2020-11-18 19:30 foolangirl 阅读(79) 评论(0) 推荐(0)
摘要:题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 比如n=3时,2*3的矩形块有3种覆盖方法: 示例 输入 4 返回值 5 知识点回顾 递归 这题就是青蛙跳,“一只青蛙一次可以跳上1级台阶,也可以跳上2级”,等 阅读全文
posted @ 2020-11-17 20:07 foolangirl 阅读(73) 评论(0) 推荐(0)
摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 示例 输入1 返回值1 输入4 返回值5 知识点 跳台阶问题(递归) 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 初始值很 阅读全文
posted @ 2020-11-16 20:23 foolangirl 阅读(69) 评论(0) 推荐(0)
摘要:题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 n<=39 示例 输入 4 返回值 3 知识点回顾 数组:这里用递归会报错“您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大” 改用数组可以巧妙解决 代码 阅读全文
posted @ 2020-11-16 20:02 foolangirl 阅读(75) 评论(0) 推荐(0)
摘要:题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 示例1 输入: [1,2,3,4,5,6,7],[3 阅读全文
posted @ 2020-11-14 17:45 foolangirl 阅读(53) 评论(0) 推荐(0)
摘要:题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点。 示例1: 输入: {5,3,7,2,4,6,8},3 返回值:{4} 说明: 按结点数值大小顺序第三小结点的值为4 知识点 1)二叉搜索树的中序遍历,找第k个 代码 # -*- coding:utf-8 -*- # class TreeNod 阅读全文
posted @ 2020-11-12 18:47 foolangirl 阅读(70) 评论(0) 推荐(0)
摘要:题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * ... * A[n-1],B[n- 阅读全文
posted @ 2020-11-09 20:43 foolangirl 阅读(65) 评论(0) 推荐(0)
摘要:题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 知识点 1)异或就是不带进位的加法 2)计算进位:通过与结果左移一位, 3)不能是负数: 4)关于0xFFFF low16 = (unsigned short ) (number>>16); high16 = 阅读全文
posted @ 2020-11-09 20:20 foolangirl 阅读(224) 评论(0) 推荐(0)
摘要:题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度 知识点 递归 代码 # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.va 阅读全文
posted @ 2020-11-04 11:41 foolangirl 阅读(50) 评论(0) 推荐(0)
摘要:题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 知识点 二叉树 递归 python is None 和 ==None self参数 阅读全文
posted @ 2020-11-04 11:04 foolangirl 阅读(69) 评论(0) 推荐(0)
摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 示例 输入:3 返回值:4 知识点回顾 跳台阶问题 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 初始值很容易得到,当n > 2时, 阅读全文
posted @ 2020-10-30 18:38 foolangirl 阅读(113) 评论(0) 推荐(0)
摘要:题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 示例 输入:[3,4,5,1,2] 返回值:1 知识点回顾 二分法 代码 # -*- coding:u 阅读全文
posted @ 2020-10-30 10:46 foolangirl 阅读(75) 评论(0) 推荐(0)
摘要:题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 知识点回顾: 1.队列 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为 阅读全文
posted @ 2020-10-29 00:39 foolangirl 阅读(76) 评论(0) 推荐(0)