网看剑指offer记录

单例模式实现*(创建一个类,只能生成该类的一个实例)
public class singleDog {
    
    //创建对象
    private static singleDog si=new singleDog();
    
    //私有化构造方法
    private singleDog(){
        
    }
    
    //饿汉模式,线程安全,效率低。
    //加载时就直接创建对象
    public static singleDog get(){
        
        return si;
    }

}

 

package hospital.entity;

public class SingleDog {
    
    private static SingleDog si=null;
    
    private SingleDog(){
        
    }
    //饿汉模式,线程安全版
    public static SingleDog get(){
        
        if(si==null){
            synchronized (SingleDog.class) {
                if(si==null){
                    si=new SingleDog();
                }
                
            }
        }
        return si;
    }

}
package hospital.entity;

public class demo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 
        //请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
        int [][] sum={{1,2,3},{4,5,6},{7,8,9,10}};
        //所需要求的数
        int num=6;
        //求出有几个数组,也就是几行
        int rowNum=sum.length;
        
        for(int i=0;i<rowNum;i++){
            //求出第一行数据
            int[] oneSum=sum[i];
            int colNum=sum[i].length;
            //因为是递增数组,直接去对比第一行的最大的数
            if(num==oneSum[colNum-1]){
                System.out.println("数字在第"+(i+1)+"行,第"+(colNum)+"个位置");
            }
            //如果大于这一行最大的数,直接跳过本次循环
            if(num>oneSum[colNum-1]){
                continue;
            }
            if(num<oneSum[colNum-1]){
                for(int j=0;j<oneSum.length;j++){
                    if(oneSum[j]==num){
                        System.out.println("数字在第"+(i+1)+"行,第"+(j+1)+"个位置");
                    }
                }
            }
        }
        

    }

}
package hospital.entity;

public class charToBlank {
    
    public static void main(String[] args){
        
        char [] str={'2',' ','5','6',' ',' ',' ','8' };
        for(int i=0;i<str.length;i++){
            System.out.print(str[i]);
        }
        //将数组里的空格替换掉位任意字符
        char a='*';
        
        for(int i=0;i<str.length;i++){
            if(str[i]==' '){
                str[i]=a;
            }
        }
        System.out.println();
        for(int i=0;i<str.length;i++){
            System.out.print(str[i]);
        }
    }

}

 

posted @ 2018-02-01 22:40  皇后  阅读(137)  评论(0编辑  收藏  举报