首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

检查数组是否包含任何偶数,然后显示最低的偶数(如果没有偶数,则显示奇数)

要检查一个数组是否包含任何偶数,并显示最低的偶数(如果没有偶数,则显示奇数),我们可以使用JavaScript来实现这个功能。以下是一个示例代码:

代码语言:txt
复制
function findLowestEvenOrOdd(arr) {
    let lowestEven = Infinity;
    let hasEven = false;

    for (let num of arr) {
        if (num % 2 === 0) {
            hasEven = true;
            if (num < lowestEven) {
                lowestEven = num;
            }
        }
    }

    return hasEven ? lowestEven : Math.min(...arr);
}

// 示例数组
const array = [3, 7, 9, 2, 6, 5];

console.log(findLowaryEvenOrOdd(array)); // 输出最低的偶数或奇数

解释

  1. 初始化变量
    • lowestEven 初始化为 Infinity,以便任何偶数都能比它小。
    • hasEven 是一个布尔值,用于记录数组中是否有偶数。
  • 遍历数组
    • 对于数组中的每个元素,检查它是否是偶数(即 num % 2 === 0)。
    • 如果是偶数,将 hasEven 设置为 true,并检查该偶数是否比当前的 lowestEven 更小,如果是,则更新 lowestEven
  • 返回结果
    • 如果数组中有偶数(即 hasEventrue),则返回 lowestEven
    • 如果没有偶数,则使用 Math.min(...arr) 返回数组中的最小值(即最低的奇数)。

应用场景

这个函数可以用于各种需要检查数组中偶数并找到最低偶数的场景,例如数据分析、数据处理、算法题目等。

参考链接

希望这个解答对你有帮助!如果有任何进一步的问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java 编程实例:相加数字、计算单词数、字符串反转、元素求和、矩形面积及奇偶判断

如果字符串包含空格以外的空白字符,例如制表符或换行符,则需要使用相应的正则表达式进行匹配。...最后,使用 System.out.println() 方法打印数组元素的总和。注意事项此方法适用于任何类型数组的元素。此方法可以计算任何长度数组元素的总和。...使用 number % 2 运算符计算 number 除以 2 的余数。如果余数为 0,则 number 是偶数,否则是奇数。使用 if-else 语句根据余数的值输出相应的判断结果。...;} else { System.out.println(number + " 是奇数。");}输出5 是奇数。解释此示例使用位运算符 & 判断 number 的最低位是否为 0。...如果最低位为 0,则 number 是偶数,否则是奇数。

11910

【贪心】算法思想,附两道道手撕题

这是因为任何子字符串都可以看作是原字符串的一部分,而原字符串中 'o' 的总数是偶数,所以任何子字符串中的 'o' 总数也必然是偶数或零(如果子字符串中没有 'o')。...因此,整个字符串本身就是一个符合条件的子字符串,因为它包含了偶数次的 'o'。 奇数情况: 当字符串中 'o' 的总数为奇数时,我们的目标是找到一个包含偶数次 'o' 的最长子字符串。...由于 'o' 的总数是奇数,任何包含所有 'o' 的子字符串都不可能满足条件(因为它将包含奇数个 'o')。因此,我们必须至少去掉一个字符,使得剩余的子字符串中 'o' 的数量变为偶数。...通过简单地检查 'o' 的总数,我们可以快速确定是否需要去掉一个字符,以及最长可能的子字符串长度。...) else: # 如果'o'字符出现的次数是奇数,则输出字符串长度减1 print(len_str - 1)

10610
  • Go 常见算法面试题篇(三):高效调整数组数值顺序

    ,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。...,分别用于存储奇数和偶数,然后遍历待排序的数组切片,根据是否可以被 2 整除将切片数据分发到偶数和奇数切片,最后将偶数切片数据追加到奇数切片之后作为新的切片返回。...// 如果不符合条件,则头指针后移,否则中断 // 以 orderFunc 为偶数判断函数为例,返回 false 表示是奇数 // 题目要求奇数排在前面,因此,当 i 对应值是奇数时...for i < j && orderFunc(arr[j]) { j-- } // 如果 i 则交换对应值的位置 // 以奇偶数为例...然后传入 reOrderArrayV2排序函数即可,排序函数本身无需做任何调整: // 是否是整数(为 true 的值放在后面) func isPositive(num int) bool {

    45210

    Codeforces Round 963 (Div. 2)

    这样最优没有奇数<偶数的情况。...那么如果有奇数<偶数的情况,我们就让此时最大的奇数与最大的偶数进行一次操作,这样得到的奇数足够大,可以满足所有的偶数了,例如a={1,2,6},开始最大奇数一个也不满足,先让1与6进行一次操作,1变为7...输出 对于每个测试用例,打印一个整数—问题的答案(以分钟为单位)。如果不存在所有房间的灯都打开的时刻,则改为打印 -1。...这两个序列没有任何相同的数字,因此它们永远不会同时出现。在第三个测试案例中,可以看到第一个灯和第二个灯将在 6 和 7 分钟关闭。但芯片将在 9 和 10 分钟时重新打开它们。...这也意味着,如果我们除以 2k 并在每个线段的两端取余数,则所有这些线段都变得相等。因此,我们将第 i 个芯片的片段称为 (ai mod 2k,(ai+k−1) mod 2k) 。

    11210

    程序员进阶之算法练习(九十二)leetcode

    = y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。 最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。...题目解析: 从简单的开始思考,假如要求只有一个字母a出现偶数次; 那么如果数组中字母a出现偶数次,则直接满足;如果a出现奇数次,那么去掉最左边的a及左边的部分,或者去掉最右边a及右边的部分;(复杂度O...理论上是可行的,左边去掉部分,可能是奇数或者偶数个a,有可能是奇数或者偶数个o,右边同理;剩下的部分要求a和o都是偶数。...对于左边来说,去掉的部分有4种可能:偶数a偶数o,偶数a奇数o,奇数a偶数o,奇数a奇数o; 为了方便描述我们用0表示偶数,1表示奇数,那么上面的状态可以表示为00、01、10、11,刚好可以用数字0...从左到右遍历数组,维护一个区间[left, right],区间没有相同元素,我们用map 来记录数组中出现的数字,sum记录数组的和; 假设遍历到数字a[i],如果map中没有数字

    17500

    剑指offer代码解析——面试题14调整数组顺序使奇数在偶数之前

    本题详细解析都已在代码中注释了: /** * 题目:输入一个数组,要求将奇数放在数组的前半段,偶数放在数组的后半段 * @author 大闲人柴毛毛 */ public class Reorder...{ /** * 分析:本题只要求前半段为奇数,后半段为偶数,没有要求有序, * 因此可以采用快速排序中一趟排序的思想: * 使用两个指针i、j,i指向头、j指向尾,分别向后、向前扫描;...* 若i遇到偶数则停下,j遇到奇数则停下,交换这两个数, * 然后继续重复上述操作,直到i、j相遇为止。...while(a[i]%2==1) i++; //j从后向前扫描,若当前元素为偶数,则继续往前扫描,若为奇数,j停止扫描。...* 当数组全为奇数时,i无限向后寻找,因此出现死循环。 * 因此,在i向后、j向前的循环中应多加一个判断:若i搜索到末尾,则停止、若j搜索到开头,则停止。

    73050

    python量化学习路线(第一章python相关语法)

    它的作用是将输入列表中的所有偶数移动到列表末尾并保持原有顺序,并返回一个新的列表。 函数使用了两个列表推导式,odd_nums和even_nums分别筛选出给定列表中的奇数和偶数。...在Python中,可以使用%求模运算符来判断一个数是奇数还是偶数。然后将奇数和偶数组合起来,并返回一个新的列表。...其中奇数部分的顺序不变,偶数组分会附在末尾,且偶数部分保持了原有顺序。 第二个测试输入列表为[2, 4, 6, 1, 3, 5],输出结果为[1, 3, 5, 2, 4, 6],同上述分析。...如果输入数字为1,则返回[1];如果输入数字为2,则返回[1,1],其他情况下,我们定义seq列表变量初始值为[1,1],然后循环计算并将新值追加到这个列表,并在最后返回seq列表。...,即在图像中区分出标签代表的函数 plt.legend() # 显示图像 plt.show() 以上代码使用了Matplotlib(Python数据可视化库)和NumPy计算库,首先构建了一个包含一定数量点的等间距数列

    5910

    C语言——oj刷题——调整数组使奇数全部都位于偶数前面

    题目: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。...然后,我们可以使用循环来遍历数组,直到两个指针相遇为止。在每次循环中,我们检查当前指针指向的数字是否为奇数。如果是奇数,则将指针向后移动一位。...如果是偶数,则将两个指针指向的数字进行交换,并将两个指针分别向前和向后移动一位。...在函数中,我们使用了两个指针来遍历数组,将奇数和偶数进行交换。然后,在main函数中,我们定义了一个整数数组,并调用adjustArray函数来调整数组的顺序。最后,我们打印出调整后的数组。...三、运行结果 希望这篇博客能够帮助您理解如何通过C语言完成输入一个整数数组,实现一个函数来调整数组中数字的顺序使得奇数位于数组的前半部分,所有偶数位于数组的后半部分。如果您有任何问题,请随时提问。

    8510

    奇偶校验原理,三种方式实现

    每个字节都会附加上一个奇偶校验位,用于表示该字节中 1 的个数是奇数还是偶数。 在奇偶校验位中,如果数据字节中 1 的个数是奇数,则校验位被设置为 1;如果是偶数,则校验位被设置为 0。...在接收端,当接收到数据时,会重新计算接收到的字节中 1 的个数,并与接收到的校验位进行比较。如果两者不匹配,则表示此数据在传输过程中出现了错误。 奇偶校验位只能检测错误,没有纠正错误的能力。...在简单的通信环境中,如串口通信,奇偶校验位可以提供一定程度的错误检测功能。 奇偶检测示例代码 判断最低位是否为 1,然后左移一位; 如此循环,直至 data 为 0。...对每个数据块计算其二进制中 1 的个数,如果为奇数,则设置校验位为 0,如果为偶数,则设置校验位为 1。 将数据块和校验位一起传输给接收方。 接收方在接收数据块后,重新计算数据块中 1 的个数。...接收方使用重新计算的结果与接收到的校验位进行比较。 如果重新计算的结果与接收到的校验位相等,则数据块没有错误。 如果重新计算的结果与接收到的校验位不相等,则说明数据块中发生了错误。

    57810

    Myers’Diff之贪婪算法

    文件A包含 ABCABBA,文件B包含CBABAC。这些被表示为两个字符数组:A []和B []。 A []的长度为N,B []的长度为M。...如果存在匹配的字符,则还可以对角移动,以匹配结束。 解决方案是包含最多对角线的迹线。 LCS是轨迹中的对角线,SES是轨迹中的水平和垂直移动。例如,LCS的长度为4个字符,SES的长度为5个差异。...在这里插入图片描述 k line:棕色线是k的奇数值的k条线。黄线是k的偶数值的k线。 snake:深蓝色的线条是蛇。红蛇显示溶液痕迹。 d contours:淡蓝色的线是差异轮廓。...这块有一个优化,文章前面说过偶数d的端点在偶数k线,奇数类似。 解释:移动奇数步长(前进或者后退都行)最终位置一定在奇数的k线上,偶数步长的最终位置一定在偶数的k线上。...这里的计算不是偶数加偶数得到的还是偶数,奇数加奇数得到的数是奇数或者偶数(这里是计算多个+1或-1)。 无论偶数还是奇数+1或-1之后都会改变自己的奇偶性,所以d次操作之后的奇偶性由d的奇偶进行决定。

    82310

    从零开始学习PYTHON3讲义(七)条件分支和哥德巴赫猜想

    上面程序中,首先请用户输入一个数字,代表钱包中的现金总数,然后使用float函数把输入变换为浮点数。使用float类型是因为,表达的是现金的总数,当然可能包含小数部分。...奇数、偶数判断 输入一个整数,判断这个数字是奇数还是偶数?...我们在程序中定义了一个函数来判断参数是奇数还是偶数。判断的原理,是使用整数运算中的求余数办法,求参数除以2之后,是否有余数。如果有余数,则参数肯定是奇数;如果没有余数,刚好除尽了,则参数当然是偶数。...#接受一个大于5的偶数输入 #不符合条件则循环重新输入 #判断是否为偶数 def isEven(n): return not (n % 2) #判断输入数字是否符合条件 def isValid...这个主流程的大致工作应当是: 输入数字,判断数字是否合规,否则重新输入 假设输入的数字是n,我们用i变量循环从3到n-1 如果存在i和n-i两个数字都是质数的情况,则猜想成立 猜想成立把i和n-i都显示出来就好了

    88120

    Myers‘Diff之贪婪算法

    文件A包含 ABCABBA,文件B包含CBABAC。这些被表示为两个字符数组:A []和B []。 A []的长度为N,B []的长度为M。...[在这里插入图片描述] k line:棕色线是k的奇数值的k条线。黄线是k的偶数值的k线。 snake:深蓝色的线条是蛇。红蛇显示溶液痕迹。 d contours:淡蓝色的线是差异轮廓。...这块有一个优化,文章前面说过偶数d的端点在偶数k线,奇数类似。 解释:移动奇数步长(前进或者后退都行)最终位置一定在奇数的k线上,偶数步长的最终位置一定在偶数的k线上。...这里的计算不是偶数加偶数得到的还是偶数,奇数加奇数得到的数是奇数或者偶数(这里是计算多个+1或-1)。 3....无论偶数还是奇数+1或-1之后都会改变自己的奇偶性,所以d次操作之后的奇偶性由d的奇偶进行决定。由因为起点为偶数零,所以说偶数d的端点在偶数k线,奇数类似。

    2.9K20

    奇偶校验器设计(奇偶校验与奇偶检测,XOR法和计数器法|verilog代码|Testbench|仿真结果)

    接收端根据接收的数据重新计算其奇偶校验位并与接收的值进行比较,如果二者不匹配,那么可以确定数据传输过程中岀现了错误;如果二者匹配,可以确定传输过程中没有出错或者出现了偶数个错误(出现这种情况的概率极低)...以偶校验位来说,如果一组给定数据位中1的个数是奇数,补一个bit为1,使得总的1的个数是偶数。例:0000001, 补一个bit为1, 00000011。...校验奇数or偶数 //计数器最低位为奇数,则整体为奇数,反之为偶数 always@(posedge clk or negedge rst_n) begin if(!...) begin even_bit <= 1'b0; odd_bit <= 1'b0; end else if(cnt[0] == 1'b1) begin //通过计数器最低位判断是否为偶数...若是奇校验则原始码流+校验位总共有奇数个“1”;若是偶校验则原始码流+校验位总共有偶数个“1”。 设计方法主要有XOR法和计数器法。

    4K40

    Leetcode 周赛题解 216

    检查两个字符串数组是否相等 「题意」 给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。...选择删除下标4,剩下的数组为nums = [6,1,7,4]。 如果一个数组满足奇数下标元素的和与偶数下标元素的和相等,该数组就是一个平衡数组。...奇数元素下标为:1 。不平衡。 删除下标 3 :[2,1,6] -> 偶数元素下标为:2 + 6 = 8 。奇数元素下标为:1 。不平衡。 只有一种让剩余数组成为平衡数组的方案。...首先预处理出奇数项前缀和和偶数项前缀和。只要删除第 为后的新数组奇数项前缀和等于偶数项前缀和即可。删除第 为之后,后面的奇偶状态其实互换了。...所以只要第 位前的奇数项之和加上第 位后的偶数项之和等于第 位前的偶数项之和加上第 位后的奇数项之和即可。

    46420

    【C语言刷题——Leetcode12道题】带你起飞,飞进垃圾堆

    检查是否所有 A 都在 B 之前 2180. 统计各位数字之和为偶数的整数个数 2278....对数组进行排序,以便当 nums[i] 为奇数时,i 也是 奇数 ;当 nums[i] 为偶数时, i 也是 偶数 。 你可以返回 任何满足上述条件的数组作为答案 。...三角形的最大周长 给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。...字符串中的最大奇数 给你一个字符串 num ,表示一个大整数。请你在字符串 num 的所有 非空子字符串 中找出 值最大的奇数 ,并以字符串形式返回。如果不存在奇数,则返回一个空字符串 “” 。...检查是否所有 A 都在 B 之前 给你一个 仅 由字符 ‘a’ 和 ‘b’ 组成的字符串 s 。

    91220

    Excel公式技巧27: 在条件格式中使用公式来突出显示单元格

    如果是TRUE,则应用设置的格式,即示例中的偶数行。 同样,如果想为奇数行设置格式,则使用公式: MOD(ROW(),2)=1 结果如下图4所示。 ?...图4 如果要对偶数列设置格式,则使用公式: MOD(COLUMN(),2)=0 结果如下图5所示。 ?...图5 如果要对奇数列设置格式,则使用公式: MOD(COLUMN(),2)=1 结果如下图6所示。 ? 图6 上面的示例每隔一行/列突出显示。...如果要求每隔一个单元格突出显示,如下图7所示,那么如何编写公式呢? ?...图7 我们知道,偶数+偶数=偶数、偶数+奇数=奇数,而相邻行列号相加应该为奇数,因此,我们可以判断相邻行号相加的奇偶性来确定是否设置单元格格式。

    3.3K20

    c# linq简介

    假设有一个整数类型的数组,找到里面的偶数并进行降序排序。...在C#2.0以前,如果要实现这样的功能,我们必须使用'foreach'或'for'循环来遍历数组,先找到偶数然后在降序排序,相关代码如下: using System; using System.Collections.Generic...{ // 如果是偶数,把偶数加入到集合中 if (i % 2 == 0) {...3、SQL编码体验落后   没有智能感知效果。   没有严格意义上的强类型和类型检查。 4、SQL和XML都有各自的查询语言,而对象没有自己的查询语言。...4、标准化的查询方式:可以使用相同的LINQ语法查询多个数据源。 5、类型检查:程序会在编译的时候提供类型检查。 6、智能感知提示:LINQ为通用集合提供智能感知提示。

    1.4K30

    【Leetcode -328.奇偶链表 - 725.分隔链表】

    Leetcode -328.奇偶链表 题目:给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。...第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。 请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。...,将一个链表分为奇数链表和偶数链表两个部分,最后将奇数链表的尾节点连上偶数链表的头节点;开始头节点为奇数链表的头节点和尾节点,头节点的next为偶数链表的头节点和尾节点;然后依次将奇数链表的尾节点连上偶数链表尾节点的...我们的思路是,先遍历一次链表计算链表的长度,然后定义两个值确定分隔后每个链表的节点以及是否有多出来的节点,再根据每个链表的节点数往后迭代走;代码以及注释如下: struct ListNode** splitListToParts..., //如果cur不为空,则使用一个size继续判断是否需要放入cur后面的节点,然后迭代cur pphead[i] = cur;

    10010

    Java编程题目(三)

    歌德巴赫猜想, 任何一个大于六的偶数可以拆分成两个质数的和 /** * @author: 毛利 */public class Gedebahe { /* 任何一个大于六的偶数可以拆分成两个质数的和...,包含 10 个元素, 分别赋一些随机整数,然后求出所有元素 的最大值, 最小值,平均值,和值,并输出出来。.../** * @author: 毛利 */public class ArrayNumber { /* 定义一个 int 型的一维数组,包含 10 个元素,分别赋一些随机整数 然后求出所有元素...; 如果有填写冲突,则填到刚才位置的底下一格; 如果有两边越界,则填到刚才位置的底下一格。...int N; //判断格局是否奇数 (可判断出偶数、负数 及小数) double d; while (true) { d = n.nextDouble

    1K10
    领券