07 2018 档案
摘要:ArrayList:随机讵问好 LinkedList:元素添加和移出(中心位置) HashSet:普遍性能都比 TreeSet 好 TreeSet:保持内部元素癿排序状态 HashMap:Hashtable 癿替代品,一般性能都较好 TreeMap:保持内部元素癿排序状态 ArrayList:随机讵
阅读全文
摘要:重载:方法名相同参数不同,两个可以同时用,用参数区分开。覆写:方法名相同参数相同,即上一个方法作废。
阅读全文
摘要:接口和抽象类癿作用有什么区别 接口能够多重继承;抽象类叧能继承一个; 接口叧能定义常量;抽象类能够定义发量 接口癿凼数都是抽象的; 抽象类癿凼数可以是非抽象癿 接口 implement,抽象 extend 接口和抽象类癿作用有什么区别 接口能够多重继承;抽象类叧能继承一个; 接口叧能定义常量;抽象类
阅读全文
摘要:https://blog.csdn.net/qq_36047892/article/details/78577562
阅读全文
摘要:参考链接:https://blog.csdn.net/weiyongxuan/article/details/46493803 https://blog.csdn.net/qq_34902522/article/details/76262812先来了解几个定义: 临界区:Critical Secti
阅读全文
摘要:参考:https://blog.csdn.net/qq_40219476/article/details/78444707 参考:https://blog.csdn.net/xdd19910505/article/details/50732328 Java 线程类:Thread,Runnable 接
阅读全文
摘要:题目: 一个环状链表(收尾相连),两个指针 head1 和 head2 从同一个节点出发,head1 每次 走一步,head2 每次走两步,请证明,两个指针第一次相遇于出发的节点 思路:假设两个节点相遇时,慢节点距离出发节点为c,环状链表中有n个节点。 慢节点速度v,经过t时间相遇后的路程为:c =
阅读全文
摘要:二叉树中两个节点的最长距离可能有三种情况:1.左子树的最大深度+右子树的最大深度为二叉树的最长距离2.左子树中的最长距离即为二叉树的最长距离3.右子树种的最长距离即为二叉树的最长距离因此,递归求解即可
阅读全文
摘要:TreeNode insertNode(TreeNode root,TreeNode node){ if(root == node){ return node; } TreeNode tmp = new TreeNode(); tmp = root; TreeNode last = null;...
阅读全文
摘要:TreeNode getLastCommonParent(TreeNode root,TreeNode t1,TreeNode t2){ if(findNode(root.left,t1)){ if(findNode(root.right,t2)){ return root; }else{ ...
阅读全文
摘要:TreeNode mirrorTreeNode(TreeNode root){ if(root == null){ return null; } TreeNode left = mirrorTreeNode(root.left); TreeNode right = mirrorTreeNode(root.ri...
阅读全文
摘要:boolean isCompleteTreeNode(TreeNode root){ if(root == null){ return false; } Queue<TreeNode> queue = new LinkedList<TreeNode>(); queue.add(root); bool
阅读全文
摘要:题目:给定一棵二叉搜索树,请找出其中的第k大的节点。 思路:如果按照中序遍历的顺序遍历一棵二叉搜索树,遍历序列的数值是递增排序的。因此,只需要用中序遍历算法遍历一棵二叉搜索树,就很容易找出它的第k大节点。
阅读全文
摘要:参考链接:https://blog.csdn.net/u013276277/article/details/78575033 题目一:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。 题目二:输入一棵二叉树的根节点,判断
阅读全文
摘要:题目:输入一棵二叉树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。
阅读全文
摘要:题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。
阅读全文
摘要:题目:从上往下打印二叉树的每个节点,同一层的节点按照从左到右的顺序打印。--层次遍历。
阅读全文
摘要:题目:输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。
阅读全文
摘要:public void Mirror(Node node){ if(node == null){ return; } if(node.left==null && node.right == null){ return; } Node temp = node.left; ...
阅读全文
摘要:public Node reConstructBinaryTree(int[] pre,int[] in){ if(pre==null || in ==null){ return null; } Node mm = reConstructBinaryTree(pre,in,0,pre.length-1,0,in.length...
阅读全文
摘要:一、求二叉树的最大深度 二、二叉树的节点数 三、二叉树中叶子节点个数 四、二叉树第K层节点个数
阅读全文
摘要:参考链接:https://blog.csdn.net/u010842515/article/details/68951783 一:前序遍历 递归解法: 非递归解法: 二:中序遍历 递归解法: 非递归解法: 三:后序遍历 四:深度优先遍历 就是前序遍历 五:广度优先遍历
阅读全文
摘要:1. 父节点数组下标从0到 n/2 -1 ,但是遍历时要小于n/2-1,因为最后一个父节点可能没有右孩子,当n/2-1为奇数时才有右孩子,为偶数时只有左孩子。 2. 结点左孩子下标为2n+1,右孩子下标为2n+2。
阅读全文
摘要:import java.util.Arrays; public class HeapSort { public static void main(String[] args) { int[] a = { 2, 5, 9, 6, 1, 4, 8, 7, 12, 50 }; sort(a); System.out.println(Array...
阅读全文
摘要:public class MergeSort { public static void main(String[] args) { int[] A = { 1, 4, 3, 2, 5 }; mergeSort(A, 5); for (int i = 0; i < A.length; i++) { System.o...
阅读全文
摘要:package Sort; import java.util.Arrays; public class ShellSort { public static void main(String[] args) { int[] a = { 54, 35, 48, 36, 27, 12, 44, 44, 8, 14, 26, 17, 28 }; sort(a...
阅读全文
摘要:import java.util.*; public class Select{ public void getSelect(int[] array){ if(array == null || array.length == 0) return; for(int i=0;i<array.length
阅读全文
摘要:import java.util.*; public class Insert{ public void getInsert(int[] array){ if(array == null || array.length == 0) return; int j=0; for(int i=1;i0&&(array[j-1]>temp);j--)...
阅读全文
摘要:import java.util.*; public class QuickSort{ public void getQuick(int[] array,int left,int right){ if(array == null || array.length == 0) return ; if(left<right){ int m...
阅读全文
摘要:import java.util.*; public class Bubble{ public int[] getBubble(int[] array){ if(array == null || array.length == 0) return null; for(int i=0;iarray[j]){ int t...
阅读全文
摘要:题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串“I am a student.”,则输出“student. a am I”。 public String reverseSentence(String str){ if(s
阅读全文
摘要:题目:输入一个正数s,打印出所有和为s的连续正整数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4=5+6=7+8=15,所以结果打印出3个连续序列1-5、4-6、7-8。
阅读全文
摘要:题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。
阅读全文
摘要:题目:统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组红出现了4次,因此输出4.
阅读全文
摘要:题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即
阅读全文
摘要:题目:在字符串中找出第一个只出现一次的字符。如输入:“abaccdeff”,则输出“b”。 思路:看到这道题时,我们最直观的想法时从头开始扫描这个字符串中的每个字符。当访问到某字符时拿这个字符和后米娜的每个字符相比较,如果在后米娜没有发现重复的字符,则该字符就是只出现一次的字符。如果字符串有n个字符
阅读全文
摘要:题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。求按从小到大的顺序的第1500个丑数。例如6、8都是丑数,但14不是,因为它不包含因子7。习惯上我们把1当作第一个丑数。 第一种方法:逐个判断每个整数是不是丑数的解法,直观但不够高效。 第二种方法:创建数组保存已经找到的丑数,用
阅读全文
摘要:题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这3个数字能排成的最小数字321323。 思路: 本体有两个难点:第一个难点是想出一种新的比较规则来排序一个数组;第二个难点在于证明这个比较规则是有效的,并且证
阅读全文
摘要:题目:输入一个整型数组,数组里有正数也有负数。数组中一个活连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求事件复杂度为O(n)。 思路:看到这道题,很多人都能想到最直观的方法,即枚举出数组的所有数组并求出它们的和。一个长度为n的数组,总共有n(n+1)/2个子数组。计算出所有子数组的和,
阅读全文
摘要:题目:输入n个整数,找出其中最小的k个数。例如输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 import java.util.ArrayList; import java.util.Collections; import java.util.List; publi
阅读全文
摘要:题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 https://blog.csdn.net/justlikeu777/article/details/
阅读全文

浙公网安备 33010602011771号