说起来,2018年俄罗斯世界杯,到现在我偶尔还会翻翻当时的积分榜,那时候熬夜看球,一边啃着鸭脖子一边盯着屏幕上的实时排名,那感觉,比现在看什么大数据分析都来得刺激,今天我就用golang写个“伪代码”的思路,把当年那些小组赛的积分榜整理一遍——顺便也聊聊,编码和看球,其实挺像的。
先来点背景:小组赛的“数据结构”
2018世界杯,32支球队分8个组,每组4队,每队踢3场,赢球积3分,平局1分,输球0分,积分相同先看净胜球,再看进球数,这不就是个排序加筛选的经典算法题吗?我当时就在想,要是我用golang写个积分榜的程序,那得把每个队当成一个struct,然后手动调sort.Slice。
小组A:乌拉圭领跑,东道主俄罗斯玩出花
| 排名 | 球队 | 场次 | 胜 | 平 | 负 | 进球 | 失球 | 净胜球 | 积分 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 乌拉圭 | 3 | 3 | 0 | 0 | 5 | 0 | +5 | 9 |
| 2 | 俄罗斯 | 3 | 2 | 0 | 1 | 8 | 4 | +4 | 6 |
| 3 | 沙特阿拉伯 | 3 | 1 | 0 | 2 | 2 | 7 | -5 | 3 |
| 4 | 埃及 | 3 | 0 | 0 | 3 | 2 | 6 | -4 | 0 |
俄罗斯那场5-0大胜沙特,我到现在还记得,要是用golang写个函数算净胜球,直接goalsFor - goalsAgainst就完事了,乌拉圭三个1-0,稳得像写好的单元测试,一点bug没有。
小组B:西班牙葡萄牙双雄,伊朗差点搅局
这个组有意思了,西班牙和葡萄牙都是1胜2平积5分,最后西班牙靠进球数多排第一——就多了1个球。《卫报》当时还专门写了篇分析,说这种“小分差”在编程里就是个边界条件,你要是写积分排序算法,得先比积分,再比净胜球,再比进球数,再比相互战绩……一层层if嵌套,跟解递归似的。
顺便说一句,伊朗那场1-0胜摩洛哥,看得我心跳加速,要是用golang的并发模型来比喻,伊朗队就像个goroutine,不声不响地跑完了全程,还拿了3分。
小组C:法国磕磕碰碰,丹麦闷平王
| 排名 | 球队 | 场次 | 胜 | 平 | 负 | 进球 | 失球 | 净胜球 | 积分 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 法国 | 3 | 2 | 1 | 0 | 4 | 2 | +2 | 7 |
| 2 | 丹麦 | 3 | 1 | 2 | 0 | 2 | 1 | +1 | 5 |
| 3 | 秘鲁 | 3 | 1 | 0 | 2 | 2 | 2 | 0 | 3 |
| 4 | 澳大利亚 | 3 | 0 | 1 | 2 | 2 | 5 | -3 | 1 |
法国踢得并不好看,但赢了,丹麦那场0-0闷平法国,简直像程序卡在死循环里——你想让它输出点东西,它偏不,后来法国拿了冠军,这事儿告诉我们:有时候代码看着糙,能跑通就是王道。
淘汰赛里的“算法思维”
淘汰赛就简单了——胜者晋级,败者回家,没有平局,这不就是个二叉树吗?16强赛,8强赛,半决赛,决赛,你要是用golang写个TreeNode结构,每个节点存场比赛比分,然后递归遍历,最后根节点就是冠军。
我记得比利时3-2日本那场,补时绝杀,那感觉,就像你调了一个下午的bug,最后发现少写了个return——又气又爽。
冠军法国:数据里的细节
法国7场比赛6胜1平,进14球丢6球,姆巴佩4球,格里兹曼3球(含3个点球),你要是用golang分析球员数据,得建个map[string]int存进球,再写个循环累加,简单粗暴,但管用。
对了,忘了说——2018世界杯积分排行榜最新其实是个伪命题,因为比赛都结束了,这个“最新”已经固定了6年,但世界杯数据库会永远定格在2018年7月15日,就像你写的代码,只要不被删,它就在那里。

写到最后,突然想到的
其实整理这些数据,跟用golang处理excel表格没啥两样:读数据→排序→输出,只是当年的排名背后,有俄罗斯的夏天,有冰岛的战吼,有阿根廷的挣扎,有克罗地亚的格子军团一路杀进决赛。
现在再回头看那个积分榜,每行数据都是个故事。《纽约时报》的体育版当年有一张信息图,把每轮积分变化做成了折线图,特别像编程里的日志监控——看着曲线一点点往上走,就知道这支队“健康”还是“崩了”。
行了,就这么着吧,2018世界杯积分榜,该更新的早就更新过了,该遗忘的也慢慢被时间冲淡,不过要是你哪天想用golang重写一遍,记得加个defer,处理完数据打印一句“球赛结束了,但代码还在跑”——挺合适。
本文来自作者[kyadmin]投稿,不代表678体育 - 全网热门体育赛事高清直播平台立场,如若转载,请注明出处:http://66weibo.cn/nba/1334.html
评论列表(4条)
我是678体育 - 全网热门体育赛事高清直播平台的签约作者“kyadmin”!
希望本篇文章《2018世界杯积分排行榜最新,那些年我们一起追过的小组赛》能对你有所帮助!
本站[678体育 - 全网热门体育赛事高清直播平台]内容主要涵盖:678体育,678体育官网,678赛事直播
本文概览:说起来,2018年俄罗斯世界杯,到现在我偶尔还会翻翻当时的积分榜,那时候熬夜看球,一边啃着鸭脖子一边盯着屏幕上的实时排名,那感觉,比现在...