`
taimukang
  • 浏览: 180874 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
这个比较简单,直接上代码。 需要注意的是第9行, substring(startindex, endindex), 表示从startindext开始,包含startindext,到endindex为止且不包含endindex。   public boolean isPal(String str){ if(str==null||str.length()<=1){ return false; } while(str.length()>1){ if(str.charAt(0)!=str.charAt(str.length()-1)){ ...
如题, 快速找出数组中出现奇数次的元素。   思路: 遍历数组,把数组中的元素保存到hashmap中, key是element的值,value是element出现的次数,保存之前check这个element是否存在,若存在,则将其删除,并不再保存,若不存在,则保存。这样遍历完一次之后,hashmap中保存的都是出现奇数次的元素。   有时间再上代码。

AVL Tree

 
AVL平衡树的旋转  平衡二叉树在进行插入操作的时候可能出现不平衡的情况,AVL树即是一种自平衡的二叉树,它通过旋转不平衡的节点来使二叉树重新保持平衡,并且查找、插入和删除操作在平均和最坏情况下时间复杂度都是O(l ...

Binary Searching Tree

 
a binary search tree (BST ), which may sometimes also be called an ordered or sorted binary tree , is a node-based binary tree data structure which has the following properties: The left subtree of a node contains only nodes with keys less than the node's key. The right subtree of ...
 //递归方式         public static int f(int n) {                 //参数合法性验证                 if (n < 1) {                         System.out.println("参数必须大于1!" );                         System.exit(-1);                 }                 if (n == 1 || n == 2) ret ...
public class Singleton { private Singleton(){} static class SingletonHolder { static Singleton instance = new Singleton(); } public static Singleton getInstance() { return SingletonHolder.instance; } ...
简单工厂模式,工厂方法模式和抽 象工厂模式都是属于创建型设计模式,这三种创建型模式都不需要知道具体类。我们掌握一种思想,就是在创建一个对象时,需要把容易发生变化的地方给封装起 来,来控制变化(哪里变化,封装哪里),以适应客户的变动,项目的扩展。用这三种设计模式都可以实现,那究竟这三种设计模式有什么异同呢?下面根据这三者 之间的特点,优点,缺点,适用范围进行比较。 一. 特点         简 单工厂模式:       专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。它又称为静态工厂方法模式。它的实质是由一个工厂类根据传入的参 数,动态决定应该创建 ...
1. What is immutable object? Can you write immutable object? You need to make class final and all its member final so that once objects gets crated no one can modify its state. You can achieve same functionality by making member as non final but private and not modifying them except in c ...
1、transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。2、被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。3、一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。也可以认为在将持久化的对象反序列化后,被transient修饰的变量将按照普通类成员变量一样被初始化。   public class Main implements Serializable { private static final long s ...

Java 序列化的问题

 
【本文为转载,以做备忘,对其中的例子做了修改,原文地址:http://liu-hliang.iteye.com/blog/748356,感谢原作者】      把Java对象转换为字节序列的过程称为对象的序列化。   把字节序列恢复为Java对象的过程称为对象的反序列化。   ava中引入序列化机制主要是为了支持两种重要技术:RMI和JavaBean技术。        对象的序列化主要有两种用途:  1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;  2) 在网络上传送对象的字节序列。   只有实现了Serializable和Externalizable接口的类的对象才 ...
耶鲁大学公开课程:http://oyc.yale.edu/ 麻省理工大学公开课程:http://ocw.mit.edu/ 斯坦福大学公开课程:http://itunes.stanford.edu/ 加州大学伯克利分校公开课程:http://webcast.berkeley.edu/courses.php 卡内基·梅隆大学公开课程:http://oli.web.cmu.edu/openlearning/ ITUNES U 和 YOUTUBE.COM/EDU——通过这两家媒体,可以找到众多录像和录音课程。其中YOUTUBE已有300家大学的200门课程和六万堂录像课。 Academice ...
    有人说java 参数传递在对primitive类型的参数传递时候是值传递,对对象参数的传递是引用传递。     可是JAVA规范里面却说的是总是值传递。     对此应如何理解?其实在Java中,无论是赋值操作还是参数传递操作,都是堆栈区数据拷贝:     ——针对原始类型(primitive type),是对堆栈区的原始类型的值进行复制;     ——针对对象,是对储存在堆栈区的对象的引用中所储存的对象的值的地址进行复制。       通过下面的例子来理解: class Dog{ private String name; public Dog(Stri ...
一、异常的继承结构       Java异常的基类为java.lang.Throwable,java.lang.Error和java.lang.Exception继承Throwable,RuntimeException和其它的Exception等继承Exception,具体的RuntimeException继承RuntimeException。      Error和RuntimeException及其子类成为未检查异常(unchecked),其它异常成为已检查异常(checked)。       Error体系:Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形。应用程 ...
    在java中可以利用break、continue和label控制循环跳转。       一、单重循环  break + label: 结束label后的循环体: public static void main(String[] args) { String o=""; z: for(int x=3;x<8;x++){ if(x==6) break z; o=o+x; } System.out.println(o); }   ...
    1、要实现多线程,可以继承Thread类或实现Runnable接口,并且重写run方法,通过调用start方法启动线程,并自动调用run方法。2、事实上run方法可以被重载,但线程执行时,默认只会调用无参数、无返回值的run方法。而重载的ru ...
Global site tag (gtag.js) - Google Analytics