Golang算法之田忌*问题实现方法分析
发布时间 - 2026-01-10 23:07:29 点击率:次本文实例讲述了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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
如何登录建站主机?访问步骤全解析
Bootstrap CSS布局之列表
Android中AutoCompleteTextView自动提示
简历没回改:利用AI润色让你的文字更专业
JS中对数组元素进行增删改移的方法总结
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
教你用AI将一段旋律扩展成一首完整的曲子
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Laravel怎么实现模型属性的自动加密
如何为不同团队 ID 动态生成多个“认领值班”按钮
香港服务器租用费用高吗?如何避免常见误区?
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
zabbix利用python脚本发送报警邮件的方法
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
详解Huffman编码算法之Java实现
如何在腾讯云服务器上快速搭建个人网站?
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
免费网站制作appp,免费制作app哪个平台好?
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何在腾讯云免费申请建站?
Python面向对象测试方法_mock解析【教程】
nginx修改上传文件大小限制的方法
Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】
,南京靠谱的征婚网站?
打造顶配客厅影院,这份100寸电视推荐名单请查收
java ZXing生成二维码及条码实例分享
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
EditPlus 正则表达式 实战(3)
Laravel如何为API生成Swagger或OpenAPI文档
如何用JavaScript实现文本编辑器_光标和选区怎么处理
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
如何快速上传自定义模板至建站之星?
html5的keygen标签为什么废弃_替代方案说明【解答】
实例解析angularjs的filter过滤器
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
在线教育网站制作平台,山西立德教育官网?
Laravel怎么判断请求类型_Laravel Request isMethod用法

