zoukankan      html  css  js  c++  java
  • 1688. Count of Matches in Tournament

    package LeetCode_1688
    
    /**
     * 1688. Count of Matches in Tournament
    https://leetcode.com/problems/count-of-matches-in-tournament/
    
    You are given an integer n, the number of teams in a tournament that has strange rules:
    1. If the current number of teams is even, each team gets paired with another team.
        A total of n / 2 matches are played, and n / 2 teams advance to the next round.
    2. If the current number of teams is odd, one team randomly advances in the tournament, and the rest gets paired.
        A total of (n - 1) / 2 matches are played, and (n - 1) / 2 + 1 teams advance to the next round.
    Return the number of matches played in the tournament until a winner is decided.
     * */
    class Solution {
        /*
        * solution: follow by rules, Time:O(logn), Space:O(1)
        * */
        fun numberOfMatches(n_: Int): Int {
            var n = n_
            var matches = 0
            while (n != 1) {
                if (n % 2 == 0) {
                    n /= 2
                    matches += n
                } else {
                    n = (n - 1) / 2
                    matches += n
                    n += 1
                }
            }
            return matches
        }
    }
  • 相关阅读:
    CSS基础
    bootbox api
    实现浏览器遗漏的原件 jQuery.selectCheckbox
    获取图片宽高方法
    javascript基础知识
    找工作总结
    cms配置使用
    页面被运营商加载广告
    iOS7 隐藏状态栏 hide statusBar
    Status Bar in iOS7
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/14128320.html
Copyright © 2011-2022 走看看