每日两算法8.29

1。单例 是最为最常见的设计模式之一。对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例。例如,对于 class Mouse (不是动物的mouse哦),我们应将其设计为 singleton 模式。
你的任务是设计一个 getInstance方法,对于给定的类,每次调用 getInstance时,都可得到同一个实例。
即设计一个类,我们只能生成该类的一个实例。

public class Singleton {
    //私有的默认构造函数
private Singleton() {}
//注意,无final
private static Singleton single=null;
//静态工厂方法  
public static Singleton getInstance() {
    if(single==null) {
        single=new Singleton();
    }
    return single;
}
}

http://www.mamicode.com/info-detail-588362.html

http://www.cnblogs.com/rush/archive/2011/10/30/2229565.html
2。K个最近的点
给定一些 points 和一个 origin,从 points 中找到 k 个离 origin 最近的点。按照距离由小到大返回。如果两个点有相同距离,则按照x值来排序;若x值也相同,就再按照y值排序。
样例
给出 points = [[4,6],[4,7],[4,4],[2,5],[1,1]], origin = [0, 0], k = 3
返回 [[1,1],[2,5],[4,4]]

你可能感兴趣的:(java,算法)