1688. 比赛中的配对次数

题目:

给你一个整数 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

题解一

    class Solution {public int numberOfMatches(int n) {// n个队伍只能有一个队伍胜利,总体来说需要匹配n-1次return n-1;}}

题解二

    class Solution {public int numberOfMatches(int n) {int total = 0; // 总匹配次数while(n>1){ // 队伍数if(n%2==0){ // 队伍数为偶数,按照匹配规则,剩余队伍 n/2,匹配次数 n/2n = n / 2;total += n;}else{ // 队伍数为奇数,剩余队伍 (n-1) / 2 +1,匹配次数 (n-1) / 2;n = (n-1) / 2 +1;total += n-1;}}return total;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/15682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python梯度下降法求解三元线性回归系数,并绘制结果

import numpy as np import matplotlib.pyplot as plt # 生成随机数据 np.random.seed(0) X1 2 * np.random.rand(100, 1) X2 3 * np.random.rand(100, 1) X3 4 * np.random.rand(100, 1) y 4 3 * X1 5 * X2 2 * X3 np.random.randn(100, 1) # 合并特征 X_b np.hsta…

Vue中组件之间的通信有哪些方法

在Vue中&#xff0c;组件之间的通信有多种方法&#xff0c;以下是一些常见的方法&#xff1a; Props和$emit&#xff1a; 父组件通过props向子组件传递数据。子组件通过$emit触发事件&#xff0c;将数据传递给父组件。 provide和inject&#xff1a; 在Vue 2.2.0版本中引入的选…

云计算-特殊机制(Specialsed Mechanisms)

自动扩展监听器 (Automated Scaling Listener) 自动扩展监听器是一种特定类型的服务代理。它运行在云提供商的网络中&#xff0c;监控云消费者和云服务之间的网络流量。通过分析消费者和服务之间的消息量和类型&#xff0c;它可以测量云服务的负载。 自动扩展监听器对变化的负载…

常见 JVM 面试题补充

原文地址 : 26 福利&#xff1a;常见 JVM 面试题补充 (lianglianglee.com) CMS 是老年代垃圾回收器&#xff1f; 初步印象是&#xff0c;但实际上不是。根据 CMS 的各个收集过程&#xff0c;它其实是一个涉及年轻代和老年代的综合性垃圾回收器。在很多文章和书籍的划分中&…

SpringCloud Alibaba的相关组件的简介及其使用

Spring Cloud Alibaba是阿里巴巴为开发者提供的一套微服务解决方案&#xff0c;它基于Spring Cloud项目&#xff0c;提供了一系列功能强大的组件&#xff0c;包括服务注册与发现、配置中心、熔断与限流、消息队列等。 本文将对Spring Cloud Alibaba的相关组件进行简介&#xff…

React Native 之 动画Animated(十二)

react-native 的 Animated API提供了一种声明式的方式来创建平滑的动画效果。它允许你编写动画逻辑&#xff0c;并将动画值直接绑定到组件的样式或布局属性上。 react-native 的 Animated 库通过以下方式工作&#xff1a; 创建动画值&#xff1a;首先&#xff0c;你需要使用 A…

ROCm上运行预训练BERT

14.10. 预训练BERT — 动手学深度学习 2.0.0 documentation (d2l.ai) 下载数据集 在d2l-zh/pytorch/data目录解压&#xff1a; ~/d2l-zh/pytorch/data$ unzip wikitext-2-v1.zip Archive: wikitext-2-v1.zipcreating: wikitext-2/inflating: wikitext-2/wiki.test.tokens …

【第17章】MyBatis-Spring之注入映射器

文章目录 前言一、注册映射器1. XML 配置2. Java 配置 二、发现映射器1. <mybatis:scan/>2.MapperScan ( 建议 ) \color{#00FF00}{(建议)} (建议) 三、MapperScannerConfigurer总结 前言 与其在数据访问对象&#xff08;DAO&#xff09;中手工编写使用 SqlSessionDaoSu…

数据库--数据库基础(一)

目录 第一章 绪论 一.数据库的基本概念 1. 数据库的4个基本概念 2、数据库系统的特点 二.数据库和文件 三.数据模型 1.概念模型 2.逻辑模型(物理模型) 2.1关系模型 四.数据库系统的三级模式结构&#xff1a; 五数据库的二级映像功能与数据独立性 第二章 关系数据库…

WEBPACK开发|生产环境配置(抽离公共部分)

这是webpack4演示&#xff0c;webpack5有些插件不在推荐&#xff0c; 1. webpack.base.config.js文件的配置说明 const path require(path); const webpack require(webpack); const ExtractTextPlugin require(extract-text-webpack-plugin); // 该插件的主要是为了抽离c…

【LeetCode面试经典150题】100. 相同的树

一、题目 100. 相同的树 - 力扣&#xff08;LeetCode&#xff09; 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 二、思路 二叉树的题&#…

C++的lambda函数、bind函数、类函数绑定参数,学习测试用例

在C中&#xff0c;Lambda函数、std::bind 和类函数绑定参数提供了灵活的方式来处理函数调用。 Lambda函数是一种匿名函数&#xff0c;可以捕获外部变量并在函数体内使用。它们提供了简洁而强大的方式来定义内联函数。std::bind 用于创建一个新的函数对象&#xff0c;其中部分参…

2024电工杯数学建模B题高质量成品论文,包括代码数据

2024电工杯数学建模B题高质量成品论文&#xff0c;包括代码数据 完整内容见文末名片 摘要 大学时期是学生们知识学习和身体成长的重要阶段&#xff0c;良好的饮食习惯对于促进生长发育和保证身体健康具有重要意义。针对当前大学生中存在的饮食结构不合理及不良饮食习惯的问题…

为了性能,放弃tft_eSPI,选择arduino_gfx吧

本来对于tft_espi和arduino_gfx没啥特别的感觉&#xff0c;都是tft屏幕驱动,arduino_gfx的好处就是除了支持tft外还支持一些oled屏幕。 谁知道在探寻我那个在单片机项目上显示中文方案 https://github.com/StarCompute/tftziku 时候&#xff0c;寻求极致性能测了一些东西。 t…

23种设计模式之一————工厂模式详细讲解

工厂模式介绍 定义分类工厂模式核心角色&#xff1a;简单工厂模式定义特点优点缺点应用场景代码实现 工厂方法模式&#xff08;别名&#xff1a;虚拟构造&#xff09;定义特点优点缺点应用场景代码实现 抽象工厂模式定义特点优点缺点应用场景代码实现工厂模式小结 定义 工厂模…

算法之背包问题

可分的背包问题是可以用贪心法来解决&#xff0c;而0-1背包问题通常使用动态规划方法来解决。 可分背包问题&#xff1a; 在可分背包问题中&#xff0c;物品可以被分割&#xff0c;您可以取走物品的一部分以适应背包的容量。这里的关键是物品的价值密度&#xff0c;即单…

最小产品价格差值

题目描述 给定某产品多少天的价格&#xff0c;记录于prices中&#xff0c;请找出任意两天之间的最小价格差&#xff08;即abs(prices[i] - prices[j])&#xff09;的最小值&#xff0c;i!j&#xff09;并计算最小介个差组合的个数 样例1 输入 [1,3,7,5,12] 输出 3 样例2…

VTK9.2.0+QT5.14.0绘制三维显示背景

背景 上一篇绘制点云的博文中&#xff0c;使用的vtkCameraOrientationWidget来绘制的坐标轴&#xff0c;最近又学习到两种新的坐标轴绘制形式。 vtkOrientationMarkerWidget vtkAxesActor 单独使用vtkAxesActor能够绘制出坐标轴&#xff0c;但是会随着鼠标操作旋转和平移时…

微服务中使用Maven BOM来管理你的版本依赖

摘要: 原创出处 sf.gg/a/1190000021198564 「飘渺Jam」欢迎转载&#xff0c;保留摘要&#xff0c;谢谢&#xff01; 为什么要使用BOM? 如何定义BOM? 项目使用方法? BOM&#xff08;Bill of Materials&#xff09;是由Maven提供的功能,它通过定义一整套相互兼容的jar包版…

通过 NIO + 多线程 提升硬件设备与系统的数据传输性能

一、项目展示 下图&#xff08;模拟的数据可视化大屏&#xff09;中数据是动态显示的 二、项目简介 描述&#xff1a;使用Client模拟了硬件设备&#xff0c;比如可燃气体浓度检测器。Client通过Socket与Server建立连接&#xff0c;Server保存数据到txt文件&#xff0c;并使用W…