赞
踩
public static void main(String[] args) {
// 错误声明方式
// int a [][3];
// 正确声明方式
int a [][];
// 输出 "50.1",字符串拼接
System.out.println("5" + 0.1);
// 输出 "0.15",字符串拼接
System.out.println(0.1 + "5");
}
构造函数是由jvm
创建类实例时自动调用,故其修饰符为private demo(){}
二分查找的时间复杂度:O(logn)
深度为6的满二叉树的节点数为 2^6 - 1 = 63;
深度为7的满二叉树的节点数为 2^7 - 1 = 127;
或者根据log2n(往下取整)+1
因此含有100个节点的完全二叉树的深度为7,叶子节点分布在第6层和第7层。
第七层叶子节点数为:100 - 63 = 37;
37 / 2 = 18余1;
因此,第6层的前18个节点是2度节点,第19个节点是1度节点即只有左子树,没有右子树,即第6层前19个节点为非叶子节点,之后为叶子节点。
因此编号最小的叶子节点编号为:2^5 - 1 + 19 + 1 = 51.
其中,2^5 - 1位前5层非叶子节点数(由满二叉树的节点计算公式得出)。
根据二叉树性质5:
depth=log2n+1
下取整)的节点按层序编号(从第一层到第depth层,每层从左到右),对任一节点i(1完全二叉树中,对于编号为i的父结点,左孩子编号为2i,右孩子编号为2i+1;
编号为100的节点(为左孩子)对应的父节点编号为50,故最小叶子节点编号为51。
// 懒汉式
public class Singleton {
// 延迟加载保证多线程安全
Private volatile static Singleton singleton;
private Singleton(){}
public static Singleton getInstance(){
if(singleton == null){
synchronized(Singleton.class){
if(singleton == null){
singleton = new Singleton();
}
}
}
return singleton;
}
}
// 饿汉式
class SingletonHungry{
private final static SingletonHungry singletonHungry = new SingletonHungry();
private SingletonHungry(){}
// 务必使用static声明为类所属方法
public static SingletonHungry getInstance(){
return singletonHungry;
}
}
详见博文《Java进阶(四十四)线程与进程的特征及区别》。
public static boolean chkLegal(String A) {
Stack<Character> stack = new Stack<Character>();
for(int i = 0; i < A.length(); i++){
Character ch = A.charAt(i);
if(ch == '{' || ch == '[' || ch == '('){
stack.push(ch);
continue;
}
if(!stack.isEmpty()){
Character c = stack.peek();
if(ch == '}' && c == '{')
stack.pop();
else if(ch == ']' && c == '[')
stack.pop();
else if(ch == ')' && c == '(')
stack.pop();
}
}
if (stack.isEmpty())
return true;
return false;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。