【力扣算法题】统计奇数数目
题目介绍
给定一个非负整数区间,求该区间内(包括最小最大值)奇数的数量
题解
1. 分情况(个人解法)
对于一个非负整数区间[low, high],我们有
- low奇,high奇:中间奇数数量为 floor((high - low) / 2) + 1
- low奇,high偶:中间奇数数量为 floor((high - low) / 2) + 1
- low偶,high奇:中间奇数数量为 floor((high - low) / 2) + 1
- low偶,high偶:中间奇数数量为 floor((high - low) / 2)
可见,前3种情况的计算方法相同,于是我们可以仅仅分出两种情况来编写代码
下面为C++源码:
int countOdds(int low, int high