classSolution { public: intnumberOfMatches(int n){ int ans = 0; while (n > 1) { if (n % 2 == 0) { ans += n / 2; n /= 2; } else { ans += (n - 1) / 2; n = (n - 1) / 2 + 1; } } return ans; } };
[sol1-Java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
classSolution { publicintnumberOfMatches(int n) { intans=0; while (n > 1) { if (n % 2 == 0) { ans += n / 2; n /= 2; } else { ans += (n - 1) / 2; n = (n - 1) / 2 + 1; } } return ans; } }
[sol1-C#]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
publicclassSolution { publicintNumberOfMatches(int n) { int ans = 0; while (n > 1) { if (n % 2 == 0) { ans += n / 2; n /= 2; } else { ans += (n - 1) / 2; n = (n - 1) / 2 + 1; } } return ans; } }
[sol1-Python3]
1 2 3 4 5 6 7 8 9 10 11
classSolution: defnumberOfMatches(self, n: int) -> int: ans = 0 while n > 1: if n % 2 == 0: ans += n // 2 n //= 2 else: ans += (n - 1) // 2 n = (n - 1) // 2 + 1 return ans
[sol1-Golang]
1 2 3 4 5 6 7 8 9 10 11 12 13
funcnumberOfMatches(n int)int { ans := 0 for n > 1 { if n%2 == 0 { ans += n / 2 n /= 2 } else { ans += (n - 1) / 2 n = (n-1)/2 + 1 } } return ans }
[sol1-C]
1 2 3 4 5 6 7 8 9 10 11 12 13
intnumberOfMatches(int n){ int ans = 0; while (n > 1) { if (n % 2 == 0) { ans += n / 2; n /= 2; } else { ans += (n - 1) / 2; n = (n - 1) / 2 + 1; } } return ans; }
[sol1-JavaScript]
1 2 3 4 5 6 7 8 9 10 11 12 13
var numberOfMatches = function(n) { let ans = 0; while (n > 1) { if (n % 2 === 0) { ans += Math.floor(n / 2); n /= 2; } else { ans += Math.floor((n - 1) / 2); n = Math.floor((n - 1) / 2) + 1; } } return ans; };