每日两算法8.29

来源:互联网 发布:奔跑吧小百合酱 知乎 编辑:程序博客网 时间:2024/06/06 04:55

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

public class Singleton {    //私有的默认构造函数private Singleton() {}//注意,无finalprivate 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]]

原创粉丝点击