加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 18:39:17 所属栏目:大数据 来源:网络整理
导读:今天需要写一个算法,获取一串数字中与给定数最接近的数字,代码如下 package mainimport ( "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{

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

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
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读