给你两个非负整数 low
和 high
。请你返回 low
和 high
之间(包括二者)奇数的数目。

思路:
不用遍历,因为连续两个数之间必有一个是奇数。剩下多出来的做判断就行了。
python3实现:
class Solution:
def countOdds(self, low: int, high: int) -> int:
# 连续两个数之间必有一个奇数,连续三个数之间可能有一个奇数,也可能有两个奇数
result = (high - low) // 2
if (low % 2 == 1 and high % 2== 1) or (low % 2 == 1) or (high % 2 == 1):
result += 1
else:
pass
return result
