关闭

平衡二叉树判断

平衡二叉树判断:输入一棵二叉树,判断该二叉树是否是平衡二叉树。 解法一:递归实现(需要重复遍历节点多次) import java.util.*; /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int v...
阅读(1033) 评论(0)

二叉树的深度

二叉树的深度:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {...
阅读(857) 评论(0)

两个链表的第一个公共节点

题目描述:输入两个链表,找出它们的第一个公共结点。 解法一:蛮力法 碰到这道题,很多人的第一反应就是蛮力法:在第一链表上顺序遍历每个结点,每遍历到一个结点的时候,在第二个链表上顺序遍历每个结点。如果在第二个链表上有一个结点和第一个链表上的结点一样,说明两个链表在这个结点上重合,于是就找到了它们的公共结点。如果第一个链表的长度为m,第二个链表的长度为n,显然该方法的时间复杂度是O(mn)...
阅读(947) 评论(0)

数组中的逆序对

题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size 对于%75的数据,size 对于%100的数据,size 示例1 ...
阅读(75) 评论(0)

第一个只出现一次的字符

在一个字符串(1   public class Solution { public int FirstNotRepeatingChar(String str) { //哈希表的使用 int mapArr[]=new int[256]; for(int i=0;i<mapArr.length;i++){ mapA...
阅读(71) 评论(0)

丑数

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

把数组排成最小的数

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 import java.util.*; /* * 解题思路: * 先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来。关键就是制定排序规则。 * 排序规...
阅读(52) 评论(0)

整数中1出现的次数

求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。 public class Solution { public int NumberOf1Between1A...
阅读(10733) 评论(0)

连续子数组的最大和

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

数组中出现次数超过一半的数字

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 public class Solution { boolean isInvalid=false; public int MoreThanHalfNum_So...
阅读(10232) 评论(0)

字符串的排列

题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba import java.util.*; public class Solution { public ArrayList Permutation(String str) { Ar...
阅读(10697) 评论(0)

二叉树中和为某一值的路径

输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 import java.util.ArrayList; //import java.util.Stack; /** public class TreeNode { int val = 0; TreeNode left = null; ...
阅读(10986) 评论(0)

二叉搜索树的后序遍历序列

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同 public class Solution { public boolean VerifySquenceOfBST(int [] sequence) { if(sequence.length == 0) return false; ...
阅读(10546) 评论(0)

从上往下打印二叉树

从上往下打印出二叉树的每个节点,同层节点从左至右打印 import java.util.ArrayList; import java.util.LinkedList; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public Tre...
阅读(13022) 评论(0)

栈的压入、弹出序列

题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出序列。假设压入栈的所有数字均不相等。例如序列1/2/3/4/5是某栈的压栈序列,序列4/5/3/2/1是该压栈序列对应的一个弹出序列,但4/3/5/1/2就不可能是该压栈序列的弹出序列 import java.util.Stack; /* * 问题描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断...
阅读(11906) 评论(0)
70条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:768673次
    • 积分:6778
    • 等级:
    • 排名:第3878名
    • 原创:51篇
    • 转载:15篇
    • 译文:4篇
    • 评论:0条
    文章存档