完美偶数计数

49 阅读2分钟

小C定义了一个“完美偶数”。一个正整数 𝑥 x 被认为是完美偶数需要满足以下两个条件:

𝑥 x 是偶数; 𝑥 x 的值在区间 [ 𝑙 , 𝑟 ] [l,r] 之间。 现在,小C有一个长度为 𝑛 n 的数组 𝑎 a,她想知道在这个数组中有多少个完美偶数。

测试样例 样例1:

输入:n = 5,l = 3,r = 8,a = [1, 2, 6, 8, 7] 输出:2

样例2:

输入:n = 4,l = 10,r = 20,a = [12, 15, 18, 9] 输出:2

样例3:

输入:n = 3,l = 1,r = 10,a = [2, 4, 6] 输出:3 我们需要在一个数组中找出满足以下两个条件的数: 该数是偶数。 该数在给定的区间 [l, r] 之间。 数据结构选择 由于我们只需要遍历数组并检查每个元素是否满足条件,因此不需要额外的数据结构。 算法步骤 初始化一个计数器 count 为 0。 遍历数组 a 中的每一个元素。 对于每一个元素 x: 检查 x 是否是偶数(即 x % 2 == 0)。 检查 x 是否在区间 [l, r] 之间(即 l <= x <= r)。 如果 x 同时满足上述两个条件,则将 count 加 1。 遍历结束后,返回 count。 代码框架 根据上述思路,我们可以将代码框架写成如下形式: java public class Main {    public static int     solution(int n, int     l, int r, int[] a) {        int count = 0; //         初始化计数器                // 遍历数组中的每一个        元素        for (int x : a) {            // 检查 x 是否            是偶数并且是否在            区间 [l, r] 之            间            if (x % 2 ==             0 && l <=             x && x <= r) {                count                ++; // 如                果满足条件,                计数器加 1            }        }                return count; //         返回计数器的值    }    public static void     main(String[] args) {        System.out.println        (solution(5, 3,         8, new int[]{1,         2, 6, 8, 7}) ==         2);        System.out.println        (solution(4, 10,         20, new int[]{12,         15, 18, 9}) == 2);        System.out.println        (solution(3, 1,         10, new int[]{2,         4, 6}) == 3);    }}

关键步骤 初始化计数器 count。 遍历数组 a,检查每个元素是否满足条件。 返回计数器的值。 初始化计数器:在 solution 方法中,初始化一个计数器 count 为 0。 遍历数组:使用 for 循环遍历数组 a 中的每一个元素。 检查条件:对于每一个元素 x,检查它是否是偶数(x % 2 == 0)并且是否在区间 [l, r] 之间(l <= x && x <= r)。 更新计数器:如果 x 满足上述两个条件,则将 count 加 1。 返回结果:遍历结束后,返回 count。 测试样例 在 main 方法中,添加测试样例来验证你的实现是否正确。每个测试样例调用 solution 方法并打印结果。