C++程序 打印数组中的偶数
给定一个数字数组,任务是打印数组中的所有偶数元素。以下是一些示例,让我们来了解一下。
例子:
输入: num1 = [2,7,6,5,4]
输出: 2, 6, 4
输入: num2 = [1,4,7,8,3]
输出: 4, 8
1. 使用 for 循环
算法: 使用 for 循环迭代给定的数组中的每个元素,检查是否 num % 2 == 0,这意味着如果被 2 整除的余数为 0,则为偶数,否则为奇数。如果满足条件,则打印数字。
以下是上述方法的实现:
输出
时间复杂度: O(N)
辅助空间 : O(1),使用恒定的额外空间 。
2. 使用 while 循环
算法: 使用 while 循环迭代给定的数组中的每个元素,检查是否 num % 2 == 0,这意味着如果被 2 整除的余数为 0,则为偶数,否则为奇数。如果满足条件,则打印数字。
以下是上述方法的实现:
输出
时间复杂度: O(N)
辅助空间: O(1),使用恒定的额外空间
3. 使用位运算符&
算法: 使用 for 循环迭代给定的数组中的每个元素,检查是否 num & 1 == 0,因为我们知道 1 和 num 的 AND 运算将给出 0,如果 num 最右侧的位未设置,并且在偶数中最右侧的位未设置。如果满足条件,则打印数字。
以下是上述方法的实现:
输出
时间复杂度 : O(N),因为我们正在迭代整个数组
辅助空间 : O(1),因为只使用了恒定的额外空间
4.使用 位运算符 |
思路 :使用 for 循环迭代给定数组中的每个元素,并检查是否 num | 1 == num+1,如果满足条件,则是偶数,因为我们知道 1 和 num 的 OR 运算将在偶数情况下给出 num+1,然后只打印相应的数字。
以下是上述方法的实现:
输出
时间复杂度: O(N),因为我们正在迭代整个数组
辅助空间: O(1),因为只使用了恒定的额外空间
5.使用递归
思路 :将数组传递给递归函数,该函数将遍历到最后一个元素并在其为偶数时打印该元素。
以下是上述方法的实现:
输出
时间复杂度 :O(N),因为我们正在遍历整个数组
辅助空间 :O(1),因为只使用了恒定的额外空间