自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大洋深处

爱生活,爱算法,爱coding

  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 剑指offer 和为S的连续正数序列

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

2017-11-20 15:41:08 168

原创 剑指offer 数组中只出现一次的数字

题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。思路:这个题目可以使用位运算来实现,首先如果两个数字相同,那么最后xor一定为0,设只出现了1次的两个数字为a,b。比如1101^1101 = 0,所以将这个整型数组里面所有的数字进行xor,最后得到的数的最高位肯定是和a,b的最高位一个相同一个不同。那么就可以将其分为两组,然

2017-11-20 15:31:52 140

原创 剑指offer 平衡二叉树

题目描述:输入一棵二叉树,判断该二叉树是否是平衡二叉树。思路:在得到树的高度之后,对左右树的高度进行判断,如果绝对值之差大于1则不是平衡二叉树。代码:class Solution {public: bool ok = true; int abs(int a,int b) { if(a>b) return a-b; e

2017-11-20 14:43:34 155

原创 剑指offer 求二叉树的深度

题目描述:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。思路:直接后序遍历,然后在同时遍历完左右节点以后取最大值。代码:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode

2017-11-20 14:37:23 178

原创 剑指offer 两个链表的第一个公共节点

题目描述:输入两个链表,找出它们的第一个公共结点。思路:首先如图所示,什么是公共节点,也就是从这个节点开始所有的节点都相同,所以从最后一个节点到第一个相同的节点都相同,所以枚举两个链表的长度,然后求出两链表长度之差,然后同步到同样位置开始遍历,第一个相同点则为第一个公共点。代码:/*struct ListNode { int val; struct ListNod

2017-11-20 14:32:04 324

原创 剑指offer 数组中的逆序对

题目: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述: 题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size<=10^4对于%75的数据,size<=10^5对于...

2017-11-19 10:37:05 197

原创 剑指offer 复杂链表的复制

题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)这题最开始没读懂什么意思,后来是看别人的题解解决的,题目其实就是字面意思,就是将这个带有random指针的链表复制一下,然后得到新链表的表头head。思路:首先将链

2017-11-05 18:53:12 175

原创 剑指offer 数组中出现次数超过一半的数

题目:这个题目在以前考研时的王道书里看到过。数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 思路:观察数组的性质,如果次数超过一半,那么比其他所有元素出现的次数还要多,所以可以对每个数进行如下处理。首先假设第一个数为这个...

2017-11-04 11:59:12 210

原创 剑指offer 连续子数组的最大和

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

2017-11-03 22:44:19 181

原创 剑指offer 二叉树中和为某一值的路径

/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: vect

2017-11-02 21:04:11 131

原创 剑指offer 排序二叉树的合法性

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:由二叉排序树(二叉搜索树)的性质可知,左边子数上的任意节点都要比根节点小,且右边子数上的任意节点都要比根节点大。则根据这个性质,我们可以运用递归解决这个问题,由后序序列的性质有,最后一个节点必定是根节点。那么可以找到

2017-11-01 10:51:58 278

邮件收发系统

是基于web的邮件收发系统

2016-04-04

空空如也

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

TA关注的人

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