文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给你一个整数 n ,表示比赛中的队伍数。比赛遵循一种独特的赛制:

  • 如果当前队伍数是 偶数 ,那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛,且产生 n / 2 支队伍进入下一轮。
  • 如果当前队伍数为 奇数 ,那么将会随机轮空并晋级一支队伍,其余的队伍配对。总共进行 (n - 1) / 2 场比赛,且产生 (n - 1) / 2 + 1 支队伍进入下一轮。
    返回在比赛中进行的配对次数,直到决出获胜队伍为止。
示例 1:
输入:n = 7
输出:6
解释:比赛详情:
- 第 1 轮:队伍数 = 7 ,配对次数 = 3 ,4 支队伍晋级。
- 第 2 轮:队伍数 = 4 ,配对次数 = 2 ,2 支队伍晋级。
- 第 3 轮:队伍数 = 2 ,配对次数 = 1 ,决出 1 支获胜队伍。
总配对次数 = 3 + 2 + 1 = 6示例 2:
输入:n = 14
输出:13
解释:比赛详情:
- 第 1 轮:队伍数 = 14 ,配对次数 = 7 ,7 支队伍晋级。
- 第 2 轮:队伍数 = 7 ,配对次数 = 3 ,4 支队伍晋级。
- 第 3 轮:队伍数 = 4 ,配对次数 = 2 ,2 支队伍晋级。
- 第 4 轮:队伍数 = 2 ,配对次数 = 1 ,决出 1 支获胜队伍。
总配对次数 = 7 + 3 + 2 + 1 = 13提示:
1 <= n <= 200

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/count-of-matches-in-tournament
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {public:int numberOfMatches(int n) {int ans = 0;while(n >= 2){if(n%2 == 0){ans += n/2;n /= 2;}else{ans += (n-1)/2;n = (n-1)/2 + 1;}}return ans;}
};

0 ms 6.3 MB C++

注意到答案有规律,就是 n-1


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 1688. 比赛中的配对次数(模拟)相关推荐

  1. 【快乐水题】1688. 比赛中的配对次数

    原题: 力扣链接:1688. 比赛中的配对次数 题目简述: 给你一个整数 n ,表示比赛中的队伍数.比赛遵循一种独特的赛制: 如果当前队伍数是 偶数 ,那么每支队伍都会与另一支队伍配对.总共进行 n ...

  2. 1688.比赛中的配对次数-LeetCode

    难度:简单 目录 一.问题描述 二.解题思想 三.解题 1.判断极端情况 2.代码实现 四.总结 一.问题描述 这里直接采用的是LeetCode上面的问题描述. 给你一个整数 n ,表示比赛中的队伍数 ...

  3. 1688比赛中的配对次数

    给你一个整数 n ,表示比赛中的队伍数.比赛遵循一种独特的赛制: 如果当前队伍数是 偶数 ,那么每支队伍都会与另一支队伍配对.总共进行 n / 2 场比赛,且产生 n / 2 支队伍进入下一轮. 如果 ...

  4. Leetcode1688. 比赛中的配对次数[C++题解]:简单题模拟

    文章目录 题目 题目链接 题目 题意重述:给定n支队伍.若n为偶数,两两配对,晋级n/2支队伍:若n为奇数,随机晋级一支队伍,剩下的两两配对.晋级(n-1)/2+1支队伍. 统计决出冠军时总共的配对次 ...

  5. LeetCode简单题之比赛中的配对次数

    题目 给你一个整数 n ,表示比赛中的队伍数.比赛遵循一种独特的赛制: 如果当前队伍数是 偶数 ,那么每支队伍都会与另一支队伍配对.总共进行 n / 2 场比赛,且产生 n / 2 支队伍进入下一轮. ...

  6. LeetCode 2212. 射箭比赛中的最大得分(状态枚举)

    文章目录 1. 题目 2. 解题 1. 题目 Alice 和 Bob 是一场射箭比赛中的对手.比赛规则如下: Alice 先射 numArrows 支箭,然后 Bob 也射 numArrows 支箭. ...

  7. angularjs 元素重复指定次数_[LeetCode] 442. 数组中重复的数据

    [LeetCode] 442. 数组中重复的数据 题目链接: https://leetcode-cn.com/problems/find-all-duplicates-in-an-array 难度:中 ...

  8. leetcode探索专题中的初级算法练习题(python代码+解题思路)

    本文记录leetcode探索专题中的初级算法练习题,附python实现代码&解题思路,做题过程不免查阅网络资料,侵删~如有错误,欢迎指正交流! 目录 专题一:数组: 26.从排序数组中删除重复 ...

  9. 全球顶级语音技术比赛中获双料冠军,这家中国公司靠什么?

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一场关键比赛,刚刚在全球顶级语音会议INTERSPEECH 2021上决出胜负. 腾讯.西工大.CMU等国内外机构是这场对决的主办方,两项比 ...

最新文章

  1. [转贴] C++内存管理检测工具 Valgrind
  2. LeetCode-动态规划基础题-62. 不同路径
  3. LPC2103开发板I2C测试试验
  4. JSON学习资料整理
  5. 腾讯云linux vnc端口,用腾讯云手把手教你用VNC搭建Ubuntu可视化界面(一)
  6. 字节跳动面试官:千峰java培训多少钱
  7. visual studio 编译器在辨异 C/C++ 程序时的注意事项
  8. [WCF权限控制]WCF的三种授权模式
  9. 一文带你了解Java编程语言的前世今生 | Java核心知识点整理
  10. educoder算法设计与分析 实验三 动态规划实验
  11. depends工具查看exe和dll依赖关系
  12. 概率分布-beta分布
  13. 使用chrome控制台下载页面图片
  14. 去掉电影字幕的最好方法
  15. 麦克风声源定位原理_使用麦克风阵列对声源定位的方法
  16. [转载整理]晚甘园红茶之醇活动之二-把杯叙红茶!
  17. jstl 标签 循环 序号
  18. 跨平台应用开发进阶(二十九) :uni-app 实现Android原生APP-云打包集成神策详细教程
  19. 九章算法面试题87 最小子数组
  20. 屌丝的24个特征,看看自己中了几枪

热门文章

  1. mysql datetime类型按天查询_mysql 时间相关sql , 按天、月、季度、年等条件进行查询...
  2. 大数据之Kafka入门简介
  3. java 线程 状态 图_Java提高——多线程(一)状态图
  4. eclipse的java帮助文档_java在Eclipse中文apidoc帮助文档导入.doc
  5. mysql 文件系统规划_Mysql的文件系统规划以及日志配置
  6. PHP使用CURL抓取页面
  7. 使用spring的@autowired注解,无法实例化dao
  8. 获取Spring容器管理的Bean工具类
  9. 大数据开发你需要知道的十个技术
  10. 1.7.08:字符替换