自定义博客皮肤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之个人刷题历程记录

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

2019-04-30 16:56:49 71

原创 剑指offer之个人刷题历程记录

##最小的k个数题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。。知识点:数组解题思路:【个人思路1】个人思路很简单也就是直接排序然后循环求出前k个即可。具体代码:import java.util.ArrayList;import java.util.Arrays;public class ...

2019-04-29 21:59:20 96

原创 剑指offer之个人刷题历程记录

数组中出现次数超过一半的数字题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。知识点:数组解题思路:【个人思路1】题目要求出数组中出现次数超过一半的数字,可以将数组排序,出现次数超过数组长度的一半的元素,这个时候就是...

2019-04-28 21:33:48 73

原创 剑指offer之个人刷题历程记录

字符串的排列题目描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。。知识点:字符串输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。解题思路:【个人思路】具体代码:import java.util.ArrayList;...

2019-04-27 17:23:28 63

原创 剑指offer之个人刷题历程记录

二叉搜索树与双向链表题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。知识点:链表解题思路:【个人思路】二叉搜索树本来就是一个特殊的树的结构其左子树均小于根结点,右子树均大于根结点。按照中序遍历便可以得到排序的结果,然后把这个遍历结果保存在一个ArrayList中,然后顺序读出进行连接即可。具体代码:imp...

2019-04-26 17:15:41 65

原创 剑指offer之个人刷题历程记录

复杂链表的复制题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。知识点:链表解题思路:这个题复杂的地方在于这是一个复杂链表,它有两个指针区域,一个指针区域指向任意一个结点,一个指针区域指向下一个结点,所以存在的难...

2019-04-24 22:30:39 58

原创 剑指offer之个人刷题历程记录

二叉树中和为某一值的路径题目描述:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)。知识点:二叉树解题思路:拿到这个题的第一想法就是把所有到叶子结点的路径的值都保存下来,然后比较是否等于target的值,要是等于然后就把该路径保存下来...

2019-04-22 21:51:42 71

原创 剑指offer之个人刷题历程记录

二叉搜索树的后序遍历序列题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。知识点:二叉搜索树解题思路:首先题目说二叉搜索树,所以要搞清楚二叉搜索树的概念,二叉搜索树就是我们所说的二叉排序树,二叉排序树也就是满足以下性质的二叉树:若它的左子树不空,则左子树上所有关键字的值均小于根关键字的值;...

2019-04-20 16:40:44 103

原创 剑指offer之个人刷题历程记录

从上到下打印二叉树题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。知识点:二叉树解题思路:根据题目描述,其实就是层序遍历二叉树,使用队列来实现二叉树的层序遍历,先将根结点放入队列中,然后每次都从队列中取出一个结点,存入ArrayList中。若这个结点有左右子结点,于是将其子结点放入队列中,直到队列为空。具体代码:import java.util.ArrayList;...

2019-04-19 16:03:54 64

原创 剑指offer之个人刷题历程记录

栈的压入、弹出序列题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)知识点:栈解题思路:看了剑指offer书上的思路:如果下一...

2019-04-19 11:16:40 120

原创 剑指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.知识点:数组解题思路:这里使用的二维数组来存储一个矩阵。以题目中的例子为例:顺时针打印矩阵...

2019-04-18 20:50:58 92

原创 剑指offer之个人刷题历程记录

树的子结构题目描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)知识点:二叉树解题思路:判断是否为子树,可以分为两步完成,第一步在树A中找到和B的根结点的值一样的结点R,第二步再判断树A中以R为根结点的子树是不是包含和树B一样的结构。这里涉及到树的遍历,所以用到的仍旧是递归的方法。具体代码:/**public class TreeNo...

2019-04-18 20:15:57 63

原创 剑指offer之个人刷题历程记录

树的子结构题目描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)知识点:二叉树解题思路:判断B是否为A的子结构,其实就是要遍历A和B然后比较结构是否相同。想到遍历就想到了递归的方法。函数分为HasSubtree和DoesTree1HaveTree2。首先调用HasSubtree判断某一结点的值是否和B的头结点的值相同。若相同则调用DoesT...

2019-04-17 21:12:46 112

空空如也

空空如也

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

TA关注的人

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