华为od机试真题 javascript 实现【打印机队列】
时间: 2023-05-08 12:00:35 浏览: 160
华为OD机试的JavaScript实现打印机队列是一道经典的数据结构题目。题目的目标是模拟一个打印机,根据输入的打印任务列表,输出任务的完成顺序,并计算出总的等待时间和任务平均等待时间。
首先,我们需要定义一个打印任务类,包括任务名称和任务等待时间。然后,我们需要创建一个队列来保存所有的打印任务。每个任务进入队列后,它的等待时间就是队列的长度。同时,我们还需要定义一个计数器来记录已经完成的任务数量和总等待时间。
接下来,我们需要编写代码来处理打印队列。每当打印机空闲时,我们需要从队列中取出等待时间最长的任务并将其打印。同时,我们需要更新任务完成数量和总等待时间。当队列为空时,打印机进入空闲状态,等待新任务的到来。
最后,我们需要计算出任务的平均等待时间。这可以通过总等待时间除以完成任务的数量来计算得出。
总的来说,这道题目考察了数据结构的使用和JavaScript编程实现能力。通过编写代码实现打印机队列,我们可以提高我们的编程技能和算法思维能力。
相关问题
华为od机试真题 javascript 实现【不含101的数】
题目要求实现一个函数,该函数接受一个整数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机试真题python实现【火星文计算】
华为OD机试真题要求使用Python实现一个火星文计算程序。火星文是一种编码过的语言,其中数字和字母被替换成特定的符号。我可以编写一个程序来实现这一功能。
首先,我需要创建一个火星文编码表,将数字和字母分别替换成对应的符号。然后,我可以使用Python的input函数来获取用户输入的火星文字符串,然后解码成普通的数字和字母。接着,我会编写算法来进行一些简单的数学计算,比如加法、减法、乘法和除法。最后,我将使用print函数输出计算结果。
这个程序将能处理用户输入的火星文计算表达式,并且输出正确的计算结果。这样,用户就可以用火星文进行简单的数学运算了。
通过这个题目的实践,我将能够锻炼自己的编程能力,熟悉Python语言的输入输出、字符串处理和基本算法实现。这样的实践对我以后的编程工作会有很大帮助。
阅读全文