- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 和为S的两个数
输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的方法一:直接用map存下所有数,用一个数,看map中是否有另外一个数import java.util.ArrayList;import java.util.HashMap;import java.util.Map; public class Solution
2017-01-13 16:02:32 228
原创 和为s的连续正序列
找出和为S的所有连续序列,序列的长度大于1,如100的对应的序列为(18,19,20,21,22)计算连续数组的的公式为S=a*i*(i+1)/2;其中i为这个等差数列的个数,a为这个等差数列那么可以遍历等差数列的个数,看有没有整数首项import java.util.ArrayList;public class Solution { public ArrayList > Fi
2017-01-13 15:29:17 198
原创 数组中只出现一次的数
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。方法一:直接用map存下次数就行//num1,num2分别为长度为1的数组。传出参数//将num1[0],num2[0]设置为返回结果import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;impor
2017-01-13 12:03:54 201
原创 判断是否为平衡二叉树
输入一棵二叉树,判断该二叉树是否是平衡二叉树。dfs,判断这棵树的左右子树的高度差是否大于1public class Solution { private boolean flag = true ; public boolean IsBalanced_Solution(TreeNode root) { flag = true ;
2017-01-13 11:13:16 226
原创 二叉树的深度
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。用bfs搜索/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {
2017-01-13 10:05:47 172
原创 数字在排序数组中出现的次数
统计一个数字在排序数组中出现的次数。用两个二分,第一个二分找到这个数字在数组中的起点,第二个找到对应的终点,直接减去就行public class Solution { public int GetNumberOfK(int [] array , int k) { int left = 0 ; int right = array.length-1 ;
2017-01-13 09:58:00 156
原创 两个链表的第一个节点
输入两个链表,找出它们的第一个公共结点。解法1:遍历链表1,用set存下,然后遍历链表2,找出第一个set中有的节点/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/import jav
2017-01-12 23:51:09 411
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人