最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Golang算法之田忌賽馬問題實現(xiàn)方法分析

 更新時間:2017年02月17日 12:04:04   作者:books1958  
這篇文章主要介紹了Golang算法之田忌賽馬問題實現(xiàn)方法,結合具體實例形式分析了基于Go語言的田忌賽馬問題原理與算法實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了Golang算法之田忌賽馬問題實現(xiàn)方法。分享給大家供大家參考,具體如下:

【田忌賽馬問題】

輸入:

輸入有多組測試數(shù)據(jù)。 每組測試數(shù)據(jù)包括3行:
第一行輸入N(1≤N≤1000),表示馬的數(shù)量。
第二行有N個整型數(shù)字,即淵子的N匹馬的速度(數(shù)字大表示速度快)。
第三行有N個整型數(shù)字,即對手的N匹馬的速度。
當N為0時退出。

輸出:

若通過聰明的你精心安排,如果能贏得比賽(贏的次數(shù)大于比賽總次數(shù)的一半),那么輸出“YES”。 否則輸出“NO”。

樣例輸入

5
2 3 3 4 5
1 2 3 4 5
4
2 2 1 2
2 2 3 1
0

樣例輸出

YES
NO

代碼實現(xiàn)(Golang):

復制代碼 代碼如下:
package huawei
//Date:2015-8-14 15:43:11
import (
    "fmt"
    "io/ioutil"
    "sort"
    "strings"
)
//思路:用自己最強的(半數(shù)+1)個馬和對手最弱的(半數(shù)+1)個馬比賽
func Test11Base() {
    data, err := ioutil.ReadFile("DataFiles/huawei_test11.txt")
    checkError(err, "Reading file")
    strs := strings.Split(string(data), "\n")
    index := 0
    for {
        count := strs[index]
        if count == "0" {
            break
        }
        teamA := convertToIntSlice(strings.Fields(strs[index+1]))
        teamB := convertToIntSlice(strings.Fields(strs[index+2]))
        if canWin(teamA, teamB) {
            fmt.Println("YES")
        } else {
            fmt.Println("NO")
        }
        index += 3
    }
}
//判斷teamA是否能夠勝利
func canWin(teamA []int, teamB []int) bool {
    sort.Ints(teamA)
    sort.Ints(teamB)
    length := len(teamA)
    tryCount := length/2 + 1
    for i := 0; i < tryCount; i++ {
        //A組最強的一半
        speedA := teamA[length-(tryCount-i)]
        //B組最弱的一半
        speedB := teamB[i]
        if speedA <= speedB {
            return false
        }
    }
    return true
}

希望本文所述對大家Go語言程序設計有所幫助。

相關文章

  • Golang使用Token來驗證

    Golang使用Token來驗證

    token指的是一種用于驗證用戶身份或授權訪問的憑證,本文主要介紹了Golang使用Token來驗證,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • golang內(nèi)存對齊詳解

    golang內(nèi)存對齊詳解

    在golang中,每一種數(shù)據(jù)類型都有其對應的數(shù)據(jù)類型大小,也就是占用了多少內(nèi)存空間,我們可以通過unsafe.Sizeof函數(shù),來確定一個變量占用的內(nèi)存字節(jié)數(shù),本文將詳細給大家介紹golang內(nèi)存對齊,需要的朋友可以參考下
    2023-10-10
  • 一文詳解Golang連接kafka的基本操作

    一文詳解Golang連接kafka的基本操作

    這篇文章主要為大家詳細介紹了Golang中連接kafka的基本操作的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-03-03
  • Go語言中的錯誤處理最佳實踐詳解

    Go語言中的錯誤處理最佳實踐詳解

    這篇文章主要為大家詳細介紹了Go語言中的錯誤處理的相關知識,文中的示例代碼講解詳細,對我們深入了解Go語言有一定的幫助,需要的可以參考下
    2023-08-08
  • 深入了解Golang的map增量擴容

    深入了解Golang的map增量擴容

    這篇文章主要介紹了深入了解Golang的map增量擴容,擴容的主要目的是為了縮短map容器的響應時間。增量擴容的本質(zhì)其實就是將總的擴容時間分攤到了每一次hash操作上,更多相關內(nèi)容需要的小伙伴可以參考一下
    2022-06-06
  • Go?env命令如何配置go環(huán)境變量

    Go?env命令如何配置go環(huán)境變量

    這篇文章主要為大家介紹了Go?env如何配置go環(huán)境變量的命令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • beego獲取ajax數(shù)據(jù)的實例

    beego獲取ajax數(shù)據(jù)的實例

    下面小編就為大家分享一篇beego獲取ajax數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Golang爬蟲及正則表達式的實現(xiàn)示例

    Golang爬蟲及正則表達式的實現(xiàn)示例

    本文主要介紹了Golang爬蟲及正則表達式的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Go語言中錯誤處理實例分析

    Go語言中錯誤處理實例分析

    這篇文章主要介紹了Go語言中錯誤處理,實例分析了Go語言中針對錯誤處理的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • Go操作Kafka的實現(xiàn)示例(kafka-go)

    Go操作Kafka的實現(xiàn)示例(kafka-go)

    本文介紹了使用kafka-go庫在Go語言中與Kafka進行交互,涵蓋了kafka-go的安裝、API使用、消息發(fā)送與消費方法,以及如何通過DockerCompose快速搭建Kafka環(huán)境,文章還比較了其他兩個常用的Kafka客戶端庫,感興趣的可以了解一下
    2024-10-10

最新評論

石狮市| 伊宁县| 海丰县| 微山县| 海安县| 博湖县| 临泽县| 定结县| 清流县| 澳门| 阿克陶县| 双柏县| 安福县| 万宁市| 德惠市| 岐山县| 新宁县| 开鲁县| 惠东县| 杭锦旗| 同江市| 蒙山县| 焉耆| 怀柔区| 邓州市| 南宫市| 京山县| 花莲市| 龙川县| 延津县| 教育| 招远市| 镇康县| 柏乡县| 博乐市| 略阳县| 鹿泉市| 南陵县| 仙游县| 荥阳市| 柳州市|