自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 剑指offer_13

剑指offer_13(最后6题)来源:牛客网 1. 序列化二叉树 题目: 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点(#),以 ! 表示一个结点值的结...

2019-08-17 16:58:51 100

原创 剑指offer_12

剑指offer_12(每日5题)来源:牛客网 1. 删除链表中重复的结点 题目: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 分析: 非递归的代码: 首先添加一个头节点,以方便碰到第一个,第二个节点就相同的情况,然后设置 ...

2019-08-16 14:12:07 117

原创 剑指offer_11

剑指offer_11(每日5题)来源:牛客网 1. 构建乘积数组 题目: 给定一个数组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[i]的值可以看作下图的矩阵中每行的乘积。 下三角用连乘可以很容求得,上三角,从下向上也是连乘。 因此我们的思路就很清晰了,先算下三角中...

2019-08-15 14:28:45 118

原创 剑指offer_10

剑指offer_9(每日5题)来源:牛客网 1. 孩子们的游戏(圆圈中最后剩下的数) 题目: 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并...

2019-08-14 12:37:37 87

原创 剑指offer_9

剑指offer_9(每日5题)来源:牛客网 1. 和为S的连续正数序列 题目: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列...

2019-08-13 14:31:32 60

原创 剑指offer_8

剑指offer_8(每日5题)来源:牛客网 1. 两个链表的第一个公共结点 题目: 输入两个链表,找出它们的第一个公共结点。 分析: 找出2个链表的长度,然后让长的先走两个链表的长度差,然后再一起走(因为2个链表用公共的尾部) 参考代码: /* public class ListNode { int val; ListNode next = null; ListNode...

2019-08-12 14:32:12 72

原创 剑指offer_7

剑指offer_7(每日5题)来源:牛客网 1. 整数中1出现的次数(从1到n整数中1出现的次数) 题目: 求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n ...

2019-08-11 14:55:03 123

原创 剑指offer_6

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

2019-08-10 14:49:41 65

原创 剑指offer_5

剑指offer_5(每日5题) 1. 栈的压入、弹出序列 题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 分析: 借用一个辅助的栈,遍历...

2019-08-09 11:08:22 78

原创 剑指offer_4

剑指offer_4(每日5题) 1. 合并两个排序的链表 题目: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 参考代码: /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val;...

2019-08-09 09:52:49 53

原创 剑指offer_3

剑指offer_3(每日5题) 1. 二进制中1的个数 题目: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 分析: 如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。 举个例子:一个二进制数1100,从右边数起第三位是处于最右...

2019-08-09 09:51:27 83

原创 剑指offer_2

剑指offer_2(每日5题) 1. 旋转数组的最小数字 题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 分析: 采用二分法解答这个问题, mid = low +...

2019-08-09 09:50:29 95

原创 剑指offer_1

剑指offer_1(每日5题) 1. 二维数组中的查找 题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 分析: 从左下角元素往上查找,右边元素是比这个元素大,上边是的元素比这个元素小。于是,target比这个元素小就往上找,比这个元素大就往右找。...

2019-08-09 09:43:47 67

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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