06 2016 档案

摘要:字符串全排列 字符串的全组合 字符串的包含 乱序字符串 旋转字符串 翻转字符串 判断字符串是否没有重复字符 转换字符串到整数 最后一个单词的长度 最长单词 单词切分 字符串匹配 最长公共子串 最长公共子序列 最长公共前缀 最长无重复字符的子串 乱序字符串 给出一个字符串数组S,找到其中所有的乱序字符 阅读全文
posted @ 2016-06-30 16:03 Hesier 阅读(1394) 评论(0) 推荐(0)
摘要:volatile关键字 1、可见性 Java内存模型规定所有的变量都是存在主存当中(物理内存),每个线程都有自己的工作内存(高速缓存)。线程对变量的所有操作都必须在工作内存中进行,而不能直接对主存进行操作。并且每个线程不能访问其他线程的工作内存。 当一个共享变量被volatile修饰时,它会保证修改 阅读全文
posted @ 2016-06-30 13:44 Hesier 阅读(493) 评论(0) 推荐(0)
摘要:在Java中,一个应用程序对应着一个JVM实例(JVM进程),一般来说名字默认为java.exe或者javaw.exe(windows下可以通过任务管理器查看)。Java采用的是单线程编程模型,即在我们自己的程序中如果没有主动创建线程的话,只会创建一个线程,通常称为主线程。但是,虽然只有一个线程来执 阅读全文
posted @ 2016-06-30 09:33 Hesier 阅读(374) 评论(0) 推荐(0)
摘要:1、final 类 final类不能被继承,没有子类,final类中的方法默认是final的。 2、final方法 final方法不能被子类的方法覆盖,但可以被继承。final不能用于修饰构造方法。 父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型 阅读全文
posted @ 2016-06-30 08:28 Hesier 阅读(101) 评论(0) 推荐(0)
摘要:static方法: 静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。静态方法中也不能使用关键字this。 static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而sta 阅读全文
posted @ 2016-06-29 17:29 Hesier 阅读(136) 评论(0) 推荐(0)
摘要:Java 异常结构 1、Throwable Throwable是 Java 语言中所有错误或异常的超类。 Throwable包含两个子类: Error 和 Exception。它们通常用于指示发生了异常情况。 Throwable包含了其线程创建时线程执行堆栈的快照,它提供了printStackTra 阅读全文
posted @ 2016-06-29 16:21 Hesier 阅读(133) 评论(0) 推荐(0)
摘要:String:字符串常量、线程安全StringBuffer:字符串变量、线程安全StringBuilder:字符串变量、线程不安全 CharSequence是字符序列,String,StringBuffer和StringBuilder都实现了CharSequence接口,本质上都是通过字符数组实现的 阅读全文
posted @ 2016-06-29 16:02 Hesier 阅读(175) 评论(0) 推荐(0)
摘要:1、HashMap 总结Map映射中不能包含重复的键,允许放入key为null的元素,也允许插入value为null的元素。HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。HashMap 的实现不是同步的,不是线程安全的。 阅读全文
posted @ 2016-06-29 15:35 Hesier 阅读(253) 评论(0) 推荐(0)
摘要:二分查找 搜索插入位置 二维矩阵中的二分查找 x的平方根 x的n次幂 搜索旋转排序数组 寻找旋转排序数组中的最小值 寻找旋转排序数组中的最小值II 寻找峰值 寻找旋转排序数组中的最小值II 假设有重复元素。 寻找旋转排序数组中的最小值 假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 阅读全文
posted @ 2016-06-29 14:04 Hesier 阅读(277) 评论(0) 推荐(0)
摘要:题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 结果请按字母顺序输出。 递归算法 DFS 阅读全文
posted @ 2016-06-28 14:15 Hesier 阅读(170) 评论(0) 推荐(0)
摘要:JVM结构 JVM主要包括四个部分: 1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。 2.执行引擎:负责执行class文件中包含的字节码指令(执行引擎的工作机制,这里也不细说了,这里主要介绍JVM结构); 3.内存区(也叫运行时数据区):是在J 阅读全文
posted @ 2016-06-22 20:26 Hesier 阅读(623) 评论(0) 推荐(0)
摘要:冒泡排序 插入排序 希尔排序 选择排序 快速排序 归并排序 堆排序 桶排序 排序算法的稳定性:排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。 冒泡(稳定) :冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如 阅读全文
posted @ 2016-06-16 13:20 Hesier 阅读(171) 评论(0) 推荐(0)
摘要:两个链表的交叉 合并两个排序的链表 链表插入排序 链表排序(O(n log n) ) 删除链表中倒数第n个节点 回文链表 合并两个排序的链表 输入两个单调递增的链表,输出两个链表合成后的链表,合成后的链表满足单调不减规则。 两个链表的交叉 找到两个单链表最开始的交叉节点 链表插入排序 链表排序(O( 阅读全文
posted @ 2016-06-15 16:40 Hesier 阅读(190) 评论(0) 推荐(0)
摘要:从尾到头打印链表 翻转链表 翻转链表II 链表划分 合并两个排序链表 合并k个排序链表 链表求和 带环链表 找出带环链表的环入口 从尾到头打印链表 输入一个链表,从尾到头打印链表每个节点的值。 翻转链表 翻转链表II 翻转链表中第m个节点到第n个节点的部分。(给出链表1->2->3->4->5->n 阅读全文
posted @ 2016-06-15 12:21 Hesier 阅读(189) 评论(0) 推荐(0)
摘要:题目描述 输入两颗二叉树A,B,判断B是不是A的子结构。 public class Solution { public boolean HasSubtree(TreeNode T1, TreeNode T2) { if (T2 == null || T1==null) { return false; 阅读全文
posted @ 2016-06-14 18:32 Hesier 阅读(131) 评论(0) 推荐(0)
摘要:判断序列是否为BST的后序遍历 在二叉查找树中插入节点 利用中序遍历,解决问题:找到BST中的第k个元素(从小到大)、验证BST 验证二叉查找树 二叉查找树迭代器 判断序列是否为BST的后序遍历 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果 在二叉查找树中插入节点 递归 非递归 利 阅读全文
posted @ 2016-06-10 16:35 Hesier 阅读(197) 评论(0) 推荐(0)
摘要:将二叉查找树变为有序的双向链表(不能创建新节点,只调整指针) 判断二叉树是不是平衡二叉树 二叉树中两个节点的最低公共祖先节点 二叉树的序列化和反序列化 由前序遍历和中序遍历构造二叉树 由中序遍历和后序遍历树构造二叉树 二叉树的所有路径 二叉树中和为某一值的路径 二叉树中和为某一值的路径 输入一颗二叉 阅读全文
posted @ 2016-06-10 15:43 Hesier 阅读(176) 评论(0) 推荐(0)
摘要:算法与数据结构 阅读全文
posted @ 2016-06-09 22:24 Hesier 阅读(191) 评论(0) 推荐(0)
摘要:Java 数组中常用方法 阅读全文
posted @ 2016-06-08 21:57 Hesier 阅读(211) 评论(0) 推荐(0)
摘要:ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。 每个ArrayList都有一个容量(capacity),表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量。当向容 阅读全文
posted @ 2016-06-08 21:26 Hesier 阅读(261) 评论(0) 推荐(0)