CodeTestcaseTest ResultTest Result1523. Count Odd Numbers in an Interval Range
Даны два неотрицательных целых числа low и high. Верните количество нечётных чисел между low и high (включительно).
Пример:
Input: low = 3, high = 7
Output: 3
Explanation: The odd numbers between 3 and 7 are [3,5,7].
C# решение
сопоставлено/оригиналpublic class Solution {
public int CountOdds(int low, int high) {
if ((low & 1) == 0) {
low++;
}
return low > high ? 0 : (high - low) / 2 + 1;
}
}
C++ решение
auto-draft, проверить перед отправкой#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public int CountOdds(int low, int high) {
if ((low & 1) == 0) {
low++;
}
return low > high ? 0 : (high - low) / 2 + 1;
}
}
Java решение
auto-draft, проверить перед отправкойimport java.util.*;
import java.math.*;
// Auto-generated Java draft from the C# solution. Review API differences before LeetCode submit.
public class Solution {
public int CountOdds(int low, int high) {
if ((low & 1) == 0) {
low++;
}
return low > high ? 0 : (high - low) / 2 + 1;
}
}
Algorithm
Проверьте, является ли число low нечётным. Это можно легко сделать с помощью оператора %, но мы используем побитовый оператор &, так как он более эффективен.
Если low нечётное, увеличьте его на 1.
Верните (high - low) / 2 + 1. Важный момент здесь - проверить, не стало ли low больше, чем high после увеличения. Это произойдёт, если low = high, и в этом случае следует вернуть 0.
😎
Вакансии для этой задачи
Показаны активные вакансии с пересечением по тегам задачи.
Активных вакансий пока нет.