自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2019-06-12 10:29:52 210

原创 剑指offer-和为s的两个数字

题目:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。解题思路:使用两个指针,一个指在数组开始,一个指在数组结束,声明一个存储两个数最小乘积的变量,如果两个数的和小于目标和,则将前面的指针向后移动;如果两个数的和大于目标和,则将前面的指针向前移动;如果两个数的和等于目标和,则判断两个数的乘积是否小于最小乘积,如果小,...

2019-06-12 09:48:28 216

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

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。解题思路:使用hashmap存储数组中数字出现的次数,如果次数为1则将该键值存储至相应的返回数组中。//num1,num2分别为长度为1的数组。传出参数//将num1[0],num2[0]设置为返回结果import java.util.HashMap;import java.util.Map...

2019-06-11 11:27:30 131

原创 剑指offer-平衡二叉树

题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树。解题思路:中序遍历得到左右子树的深度,判断左右子树的深度差是否大于1,若小于1则为平衡树,否则不是;这种方法会使得每个节点递归遍历多次,消耗大。后序遍历每个节点只会遍历到一次,先判断左右子树是否为平衡树,再得到树的深度。中序遍历:public class Solution { public boolean IsBalanced_Sol...

2019-06-11 10:38:52 180

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

题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解题思路:使用递归解决,先递归算出根节点左子树的深度,在递归算出右子树的深度,最后比较出左子树与右子树比较大的深度加上1(根节点)既为树的深度。/**public class TreeNode { int val = 0; TreeNode left ...

2019-06-11 09:58:17 105

原创 剑指offer-数字在排序数组中出现的次数

题目:统计一个数字在排序数组中出现的次数。解题思路:使用二分法,找出这个数字第一次出现的位置和最后一次出现的次数,因此得到该数在数组中的出现的次数。解法一:public class Solution { public int GetNumberOfK(int [] array , int k) { int count = 0; if(array!=null&&a...

2019-06-10 14:57:12 121

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

题目:输入两个链表,找到它们的第一个公共结点。解题思路:使用Hashmap存储节点值得个数,再遍历两个链表中的任何一个链表,再map中找的的第一个键值为链表值,个数为2的节点为两个链表的第一个公共节点。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { ...

2019-06-10 10:52:20 127

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

题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007解题思路:先把数组分隔成子数组,统计出子数组内部的逆序对的数目,然后再统计出两个相邻子数组之间的逆序对的数目。再统计逆序对的过程中,还需要对数组进行排序。合并两个子数组并统计逆序对的过程:...

2019-06-10 10:33:55 139

原创 剑指offer-丑数

题目:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。public class Solution { public int GetUglyNumber_Solution(int index) { if(index<=0){ ...

2019-06-05 13:50:55 100

原创 剑指offer-第一个只出现一次的字符

题目:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).解题思路:使用一个数据容器来存放每个字符的出现次数,然后从头开始扫描字符串两次。第一次扫描字符串时,每扫描到一个字符,就在哈希表的对应项中把次数加1,接下来第二次扫描字符串时,每扫描到一个字符,就能从哈希表中得到该字符出现的次数。...

2019-06-05 13:47:08 126

原创 剑指offer-把数组排成最小的数

题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。解题思路:将数组复制到list集合中去,利用在集合中自定义比较器,将集合中的各元素按字典排序,最后将排序后的集合元素整合至stringbuffer中返回。注意边界条件的判断。import java.util.Arr...

2019-06-05 09:34:05 387

空空如也

空空如也

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

TA关注的人

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