Given two non-negative integers low and high. Return the count of odd numbers between low and high (inclusive).
Example 1:
Input: low = 3, high = 7
Output: 3
Explanation: The odd numbers between 3 and 7 are [3,5,7].Example 2:
Input: low = 8, high = 10
Output: 1
Explanation: The odd numbers between 8 and 10 are [9].
Constraints:
- 0 <= low <= high <= 10^9
solution<1>:
class Solution {
public:
    int countOdds(int low, int high) 
      {
           if(low%2==1||high%2==1)
               return 1+(high-low)/2;
           else
               return (high-low)/2;
       }
};solution<2>:
class Solution {
public:
    int countOdds(int low, int high) {
       return (high+1)/2-(low/2);
    }
};solution<3>:
#include<iostream>
using namespace std;
class Solution {
public:
	int countOdds(int low, int high) {
		int count{0};
		for (int i = low; i <= high; i++)
		{
			if (i % 2 == 1)
				count++;
		}
		return count;
	}
};
int main()
{
	int high, low;
	cin >> low >> high;
	Solution s;
	int result = s.countOdds(low, high);
	cout << result << "\n";
	return 0;
} 
No comments:
Post a Comment