• Algs4-1.4.16最接近的一对(一维)


    1.4.16最接近的一对(一维)。编写一个程序,给定一个含有N个double值的数组a[],在其中找到一对最接近的值:两者之差(绝对值)最小的两个数。程序在最坏情况下所需的运行时间应该是线性对数级别的。
    答:一个简单的实现,不 考虑多对最近点。

    import java.util.Arrays;
    public class TheNearest
    {
        public static int nearset(double[] a)
        {
            Arrays.sort(a);
            double dist=Math.abs(a[a.length-1]);
            double dist2;
            int nearsetIndex=-1;
            for(int i=0;i<a.length-1;i++)
            {
                dist2=Math.abs(a[i]-a[i+1]);
                if (dist2<dist)
                {
                    dist=dist2;
                    nearsetIndex=i;
                }
            }//end for
            return nearsetIndex;
        }
       
        public static void main(String[] args)
        {
             double[] a=In.readDoubles(args[0]);
             int i=nearset(a);
             StdOut.printf("%d,%d",i,i+1);
        }
    }
  • 相关阅读:
    addslashes与mysql_real_escape_string的区别
    gcc
    php函数
    JAVA基本类库介绍
    Linux系统精华教程
    CJIAN
    我的未来不是梦! 全新时代
    html标签属性disabled用法 全新时代
    javamail收取邮件demo code 全新时代
    TortoiseSVN安装注意事项及中文语言包安装 全新时代
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854430.html
Copyright © 2020-2023  润新知