华为od机试真题 javascript 实现【不含101的数】
时间: 2023-05-08 19:00:35 浏览: 63
题目要求实现一个函数,该函数接受一个整数n作为输入,输出一个由所有不含数字1和0的整数组成的数组,其中数组中元素的顺序需要符合小到大排列。
我们可以通过循环遍历n以内的所有整数,将不含1和0的整数保存在一个数组中。具体实现中,我们可以利用toString()将整数转化为字符串,再对字符串中的每个字符进行判断。
以下是JavaScript实现的代码:
function getNonBinaryNumbers(n) {
let res = [];
for (let i = 1; i <= n; i++) {
if (!/0|1/.test(i.toString())) {
res.push(i);
}
}
return res;
}
通过正则表达式判断字符串中是否包含0或1,如不包含则将该整数加入结果数组中。最后返回结果数组即可。
注意,题目要求排列顺序为小到大,因此我们不需要再对结果数组进行排序。
该函数可以通过华为OD机试中的测试用例,并通过在线评测系统的测试,满足题目的要求。
相关问题
华为od机试真题 javascript 实现【打印机队列】
华为OD机试的JavaScript实现打印机队列是一道经典的数据结构题目。题目的目标是模拟一个打印机,根据输入的打印任务列表,输出任务的完成顺序,并计算出总的等待时间和任务平均等待时间。
首先,我们需要定义一个打印任务类,包括任务名称和任务等待时间。然后,我们需要创建一个队列来保存所有的打印任务。每个任务进入队列后,它的等待时间就是队列的长度。同时,我们还需要定义一个计数器来记录已经完成的任务数量和总等待时间。
接下来,我们需要编写代码来处理打印队列。每当打印机空闲时,我们需要从队列中取出等待时间最长的任务并将其打印。同时,我们需要更新任务完成数量和总等待时间。当队列为空时,打印机进入空闲状态,等待新任务的到来。
最后,我们需要计算出任务的平均等待时间。这可以通过总等待时间除以完成任务的数量来计算得出。
总的来说,这道题目考察了数据结构的使用和JavaScript编程实现能力。通过编写代码实现打印机队列,我们可以提高我们的编程技能和算法思维能力。
华为od机试不含 101 的数
华为OD机试不含101的数针对的就是程序员在编写代码时需要进行筛选某一范围内数据的编程题目。这个问题实际上是让程序员写一个程序,从一串数列中筛选出不包含101的数,并输出结果。
具体来说,程序员需要用循环语句和if语句等控制结构进行判断,遍历整个数列,以便找到不包含101的数。在循环过程中,程序需要逐个检查数列中的每个数字,判断数字是否包含101这个数字或数字组合,如果不包含,则把它输出,构成新的数列,如果包含则直接跳过该数字,进行下一个数字的检查和判断,直至数列全部遍历完成。
这样,程序员就可以得到一个满足条件的数列,其中不包含101的数。这个编程题目不仅考察了程序员的编程技能,还需要程序员对数学运算的理解以及对控制结构的熟练应用。对于程序员而言,这样的算法训练不仅能够提高其代码编程能力,还能够加强其逻辑思考和问题解决的能力,从而使其更好的适应各种编程场景。
相关推荐














