首页 > 其他 > 详细

golang获取一串数字中与给定数最接近的数字

时间:2015-09-12 12:20:28      阅读:281      评论:0      收藏:0      [点我收藏+]

今天需要写一个算法,获取一串数字中与给定数最接近的数字,代码如下

package main

import (
    
    "fmt"
)

func main(){
    arr:=[]int{12,16,29,34,39,43,55,64,71,89,90,9}
    zuijin:=get_zuijin(40,arr)
    fmt.Println(zuijin)
}

func get_zuijin(this int,arr []int) int{
    min:=0 
    if this==arr[0]{
        return arr[0]
    }else if this>arr[0]{
        min = this-arr[0]
    }else if this<arr[0]{
        min = arr[0]-this
    }
    
    for _,v:=range arr{
        if v==this{
            return v    
        }else if v>this{
            if min>v-this{
                min = v-this    
            }
        }else if v<this{
            if min>this-v{
                min = this-v    
            }
        }
    }
    
    for _,v:=range arr{
        if this+min == v{
            return v    
        }else if this-min == v{
            return v    
        }    
    }
    return min
}



golang获取一串数字中与给定数最接近的数字

原文:http://my.oschina.net/tongjh/blog/505237

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!