小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 方法并打印结果。