美文网首页
每日一题day8-在区间范围内统计奇数数目

每日一题day8-在区间范围内统计奇数数目

作者: 程序员小2 | 来源:发表于2022-06-26 07:34 被阅读0次

题目:

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

示例 1:

输入:low = 3, high = 7
输出:3
解释:3 到 7 之间奇数数字为 [3,5,7] 。
示例 2:

输入:low = 8, high = 10
输出:1
解释:8 到 10 之间奇数数字为 [9] 。

提示:

0 <= low <= high <= 10^9

思路:

如果我们暴力枚举 [low, high]中的所有元素会超出时间限制。
我们可以使用前缀和思想来解决这个问题,定义pre(x) 为区间 [0, x]中奇数的个数,很显然:
pre(x)=(x+1)/2;

故答案为 pre(high) - pre(low−1)。

java代码:

class Solution {
    public int countOdds(int low, int high) {
        return pre(high) - pre(low - 1);
    }

    public int pre(int x) {
        return (x + 1) >> 1; //相当于(x+1)/2, 但效率更高
    }
}

相关文章

  • 每日一题day8-在区间范围内统计奇数数目

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

  • 神奇数

    神奇数---能将一个数的各个数字分成两组,两组数字的和相同。例如242,分成{2,2}和{4}。给定一个区间,统计...

  • 回归分析的前提假设

    置信区间 是指由样本统计量所构造的总体参数的估计区间。在统计学中,一个概率样本的置信区间(Confidence i...

  • 仅以累计答题率区间段分析为例

    从答题率区间看来,老学员在答题区间不同范围内变化程度较小,新学员变化程度较大。 续报的新学员在各个累计答题率区间内...

  • ES使用场景及方法

    1.区间统计.通常用于柱状图 每个范围内的量. 比如价格范围的商品数, 年龄范围的人数, 分数范围的人数等等....

  • 将部分参数替换成0

    pytorch中 将tensor某一范围内的数替换成0: 定一个函数,统计数组各区间的参数个数,并作图: 结果: ...

  • 算法(一) 双指针

    如有疑问,或者指点,欢迎留言,谢谢~ 2020.4.21:统计「优美子数组」,属于每日一题 1.思路,使用双指针,...

  • 奇数值单元格的数目

    题目: 题目的理解: 花了点时间来理解题目。 需要先初始化一个n*m值为0的二维数组 获取每一个indices中的...

  • C 语言实例14 - 循环区间范围内的奇数/偶数

  • 每日3题(2):统计最大组的数目

    题目: 给你一个整数 n 。请你先求出从 1 到 n 的每个整数 10 进制表示下的数位和(每一位上的数字相加),...

网友评论

      本文标题:每日一题day8-在区间范围内统计奇数数目

      本文链接:https://www.haomeiwen.com/subject/kojvvrtx.html