全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Golang算法之田忌*问题实现方法分析

本文实例讲述了Golang算法之田忌*问题实现方法。分享给大家供大家参考,具体如下:

【田忌*问题】

输入:

输入有多组测试数据。 每组测试数据包括3行:
第一行输入N(1≤N≤1000),表示马的数量。
第二行有N个整型数字,即渊子的N匹马的速度(数字大表示速度快)。
第三行有N个整型数字,即对手的N匹马的速度。
当N为0时退出。

输出:

若通过聪明的你精心安排,如果能赢得比赛(赢的次数大于比赛总次数的一半),那么输出“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

代码实现(Golang):
复制代码 代码如下:package huawei
//Date:2015-8-14 15:43:11
import (
    "fmt"
    "io/ioutil"
    "sort"
    "strings"
)
//思路:用自己最强的(半数+1)个马和对手最弱的(半数+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  # 算法  # 田忌赛马问题  # Golang排列组合算法问题之全排列实现方法  # Golang算法问题之整数拆分实现方法分析  # Golang算法问题之数组按指定规则排序的方法分析  # Golang最大递减数算法问题分析  # Golang正整数指定规则排序算法问题分析  # Go语言实现的树形结构数据比较算法实例  # Go语言算法之寻找数组第二大元素的方法  # go语言睡眠排序算法实例分析  # GO语言利用K近邻算法实现小说鉴黄  # golang实现分页算法实例代码  # 匹马  # 最弱  # 整型  # 测试数据  # 样例  # 给大家  # 速度快  # 所述  # 是否能够  # 每组  # 多组  # 第三行  # 讲述了  # huawei  # Date  # package  # len  # length  # span  # import 


相关文章: 上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  如何登录建站主机?访问步骤全解析  javascript基本数据类型及类型检测常用方法小结  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  视频网站制作教程,怎么样制作优酷网的小视频?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  建站之星如何修改网站生成路径?  建站10G流量真的够用吗?如何应对访问高峰?  如何快速生成ASP一键建站模板并优化安全性?  如何在阿里云服务器自主搭建网站?  公众号网站制作网页,微信公众号怎么制作?  制作农业网站的软件,比较好的农业网站推荐一下?  如何选择最佳自助建站系统?快速指南解析优劣  建站之星代理如何优化在线客服效率?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  如何用好域名打造高点击率的自主建站?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  七夕网站制作视频,七夕大促活动怎么报名?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  招商网站制作流程,网站招商广告语?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  常州自助建站工具推荐:低成本搭建与模板选择技巧  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  如何在云虚拟主机上快速搭建个人网站?  开心动漫网站制作软件下载,十分开心动画为何停播?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  如何在IIS中新建站点并解决端口绑定冲突?  如何在IIS7上新建站点并设置安全权限?  微课制作网站有哪些,微课网怎么进?  Swift中switch语句区间和元组模式匹配  网站制作网站,深圳做网站哪家比较好?  制作网站的软件免费下载,免费制作app哪个平台好?  建站之星官网登录失败?如何快速解决?  如何配置IIS站点权限与局域网访问?  网站制作服务平台,有什么网站可以发布本地服务信息?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  建站之星如何快速解决建站难题?  Bpmn 2.0的XML文件怎么画流程图  小型网站建站如何选择虚拟主机?  如何快速搭建FTP站点实现文件共享?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  公司门户网站制作流程,华为官网怎么做?  建站之星代理平台如何选择最佳方案?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  建站主机服务器选购指南:轻量应用与VPS配置解析  手机怎么制作网站教程步骤,手机怎么做自己的网页链接? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。