zoukankan      html  css  js  c++  java
  • 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);
        }
    }
  • 相关阅读:
    二级联动选择框的实现
    vimperator
    Ipan笔记-2
    git的一些补充点
    联想云部署的笔记心得
    关于vim的折叠
    ipan笔记
    php中浮点数计算问题
    Chrome 控制台报错Unchecked runtime.lastError: The message port closed before a response was received
    PHP-redis中文文档
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854430.html
Copyright © 2011-2022 走看看