摘要:
import java.util.ArrayList; import java.util.Collections; /** * 面试题41:和为S的两个数 * 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 * 对应每 阅读全文
摘要:
/** * 面试题40:数组中只出现一次的数字 * 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 */ public class _40_num_one_times { public static void main(String[] args){ S 阅读全文
摘要:
/** * 面试题39: * 题目2:平衡二叉树 * 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 */ public class _39_2_avl { public static void main(String[] args){ } } class Solution39_2 { public 阅读全文
摘要:
/** * 面试题39:二叉树的深度 * 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 */ public class _39_binaryTree_deep { public static void main(String 阅读全文
摘要:
/** * 面试题38:数字在排序数组中出现的次数 * 统计一个数字在排序数组中出现的次数。 */ public class _38_sort_num_times { public static void main(String[] args){ Solution38 solution38 = ne 阅读全文
摘要:
/** * 面试题37:两个链表的第一个公共结点 * 输入两个链表,找出它们的第一个公共结点。 */ public class _37_linked_common { public static void main(String[] args){ } } class Solution37 { pub 阅读全文
摘要:
/** * 面试题36:数组中的逆序对 * 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。 * 输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 */ public class _36_arr 阅读全文
摘要:
import java.util.HashMap; /** * 面试题35:第一个只出现一次的字符 * 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置 */ public class _35_first_str { public sta 阅读全文
摘要:
/** * 面试题34:丑数 * 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 * 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 */ public class _34_ugly_number { public 阅读全文
摘要:
/** * 面试题33:把数组排成最小的数 * 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 * 例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 */ public class _33_min_array { pu 阅读全文