当前位置: 首页 > news >正文

【2024年华为OD机试】(C卷,100分)- 机场航班调度程序 (Java JS PythonC/C++)

在这里插入图片描述

一、问题描述

题目描述

XX市机场停放了多架飞机,每架飞机都有自己的航班号,如CA3385,CZ6678,SC6508等,航班号的前2个大写字母(或数字)代表航空公司的缩写,后面4个数字代表航班信息。

但是XX市机场只有一条起飞跑道,调度人员需要安排目前停留在机场的航班有序起飞。

为保障航班的有序起飞,调度员首先按照航空公司的缩写(航班号前2个字母)对所有航班进行排序,同一航空公司的航班再按照航班号的后4个数字进行排序,最终获得安排好的航班的起飞顺序。

说明

  • 航空公司缩写排序按照从特殊符号$ & *,09,AZ排序。

输入描述

第一行输入航班信息,多个航班号之间用逗号 “,” 分隔,输入的航班号不超过100个。

例如:

CA3385,CZ6678,SC6508,DU7523,HK4456,MK0987

备注

  • 航班号为6位长度,后4位为纯数字,不考虑存在后4位重复的场景。

输出描述

CA3385,CZ6678,DU7523,HK4456,MK0987,SC6508

用例

输入

CA3385,CZ6678,SC6508,DU7523,HK4456,MK0987

输出

CA3385,CZ6678,DU7523,HK4456,MK0987,SC6508

说明
输入为目前停留在该机场的航班号,输出为按照调度排序后输出的有序的航班号。

输入

MU1087,CA9908,3U0045,FM1703

输出

3U0045,CA9908,FM1703,MU1087

说明

题目解析

本题是一个简单的字符串操作和排序问题。

解题步骤
  1. 解析输入:将输入的航班号字符串按逗号分隔,得到一个航班号列表。
  2. 定义排序规则
    • 航空公司缩写排序:按照特殊符号$ & *,09,AZ的顺序排序。
    • 航班号后4位数字排序:在同一航空公司的航班中,按照后4位数字的升序排序。
  3. 排序
    • 使用自定义的排序函数对航班号列表进行排序。排序函数需要先比较航空公司缩写,如果相同则比较后4位数字。
  4. 输出结果:将排序后的航班号列表用逗号连接成一个字符串输出。
排序逻辑
  • 航空公司缩写排序:使用自定义的排序规则,将特殊符号、数字和大写字母分别排序。
  • 航班号后4位数字排序:在同一航空公司的航班中,直接比较后4位数字的大小。

通过这种方法,我们可以高效地对航班号进行排序,确保航班的有序起飞。时间复杂度主要取决于排序操作,通常为O(n log n),其中n是航班号的数量。

二、JavaScript算法源码

以下是经过详细注释和解释的你提供的代码,它使用 Node.js 对一组航班编号进行排序:


代码部分:

// 创建一个 readline 接口,用于从标准输入中读取数据
const rl = require("readline").createInterface({ input: process.stdin });// 通过 Symbol.asyncIterator 获取一个异步迭代器,用于逐行读取输入
var iter = rl[Symbol.asyncIterator]();// 定义一个异步函数,用于读取一行输入数据
const readline = async () => (await iter.next()).value;// 主函数入口,立即执行的异步函数表达式(IIFE)
void (async function () {// 从标准输入中读取航班数据,并根据逗号分隔成数组const flights = (await readline()).split(",");// 对航班数组进行排序flights.sort((a, b) => {// 提取航班的前两位字母(航空公司代码)const abbr1 = a.slice(0, 2);const num1 = a.slice(2); // 提取航班号的数字部分// 对比的第二个航班的航空公司代码和数字部分const abbr2 = b.slice(0, 2);const num2 = b.slice(2);// 如果航空公司代码相同,则按数字部分排序if (abbr1 == abbr2) {return strcmp(num1, num2);} else {// 如果航空公司代码不同,则按航空公司代码排序return strcmp(abbr1, abbr2);}});// 输出排序后的航班列表,用逗号连接成字符串console.log(flights.join(","));
})();// 自定义的字符串比较函数,模拟 C 语言中的 strcmp 函数
function strcmp(a, b) {if (a > b) {return 1; // 如果 a > b,返回 1} else if (a < b) {return -1; // 如果 a < b,返回 -1} else {return 0; // 如果 a == b,返回 0}
}

详细解释代码逻辑

1. 读取输入
  • 使用 readline 库创建一个接口(rl),从标准输入中读取数据。
  • 通过 Symbol.asyncIterator 获取一个异步迭代器(iter),然后通过 await iter.next() 来逐行读取输入。
  • readline 函数封装了读取操作,每次调用会返回一行输入的内容。

2. 主函数逻辑
  • 使用 await readline() 读取一行输入数据(假设是一个以逗号分隔的航班编号列表,例如:CA123,AA456,CA122)。
  • 使用 .split(",") 将输入字符串分割成数组,得到如 ["CA123", "AA456", "CA122"]

3. 排序的实现
  • 使用数组的 sort 方法对航班编号进行排序,传入一个自定义的比较函数:
flights.sort((a, b) => {const abbr1 = a.slice(0, 2); // 提取第一个航班的航空公司代码(前两个字符)const num1 = a.slice(2);    // 提取第一个航班的数字部分const abbr2 = b.slice(0, 2); // 提取第二个航班的航空公司代码const num2 = b.slice(2);    // 提取第二个航班的数字部分
  • 比较规则:
    1. 如果航空公司代码(abbr1abbr2)相同,则比较数字部分(num1num2)。
    2. 如果航空公司代码不同,则直接比较航空公司代码。

4. 字符串比较函数 strcmp
  • 这是一个模拟 C 语言中的 strcmp 函数的实现:
    • 比较两个字符串 ab 的大小。
    • 如果 a > b,则返回 1
    • 如果 a < b,则返回 -1
    • 如果 a == b,则返回 0

5. 排序结果输出
  • 排序完成后,使用 flights.join(",") 将排序后的数组重新连接成逗号分隔的字符串。
  • 使用 console.log 将结果输出到标准输出。

示例输入与输出

输入:

用户在标准输入中输入以下内容:

CA123,AA456,CA122
输出:

程序会按照航空公司代码和航班号进行排序,输出如下内容:

AA456,CA122,CA123

注意事项

  1. 航班编号的格式假设

    • 假设所有航班编号均由两部分组成:航空公司代码(两位字母)和航班号(数字)。
    • 程序没有验证输入格式,如果输入格式不符,可能会导致错误。
  2. 异步读取的必要性

    • 使用异步方式读取输入,适用于处理大量或非同步数据场景。对于简单的输入场景,直接使用同步方式可能更易实现。
  3. 扩展性

    • 如果需要支持不同长度的航空公司代码或其他复杂排序逻辑,可以在 sort 的比较函数内进一步修改。

希望这些注释和讲解能够帮助你更好地理解代码逻辑!如果有任何问题,请随时提问。

三、Java算法源码


import java.util.Arrays;       // 导入用于数组操作的工具类
import java.util.Scanner;      // 导入用于读取用户输入的工具类
import java.util.StringJoiner; // 导入用于高效拼接字符串的工具类public class Main {public static void main(String[] args) {// 创建一个Scanner对象,用于从控制台读取输入Scanner sc = new Scanner(System.in);// 读取用户输入的一行数据,并用逗号分割成字符串数组// 假设用户输入类似于: "CA123,AA456,CA122"String[] flights = sc.nextLine().split(",");// 创建一个StringJoiner对象,用于拼接排序后的航班号,分隔符使用 ","StringJoiner sj = new StringJoiner(",");// 将航班号数组转换为流,并排序Arrays.stream(flights) // 将数组转换成Stream流.sorted(           // 对流中的元素进行排序,使用自定义排序规则(a, b) -> {    // 自定义比较器,定义如何比较两个航班号字符串// 提取第一个航班号的航空公司代码(前两位字符)和数字部分String abbr1 = a.substring(0, 2); // 航空公司代码,例如 "CA"String num1 = a.substring(2);     // 航班号数字部分,例如 "123"// 提取第二个航班号的航空公司代码和数字部分String abbr2 = b.substring(0, 2); // 航空公司代码,例如 "AA"String num2 = b.substring(2);     // 航班号数字部分,例如 "456"// 如果两个航班号的航空公司代码相同,则比较数字部分if (abbr1.equals(abbr2)) {return num1.compareTo(num2); // 字典顺序比较数字部分} else {return abbr1.compareTo(abbr2); // 否则按航空公司代码排序}}).forEach(sj::add); // 将排序后的每个航班号添加到StringJoiner对象中// 输出最终拼接的字符串结果System.out.println(sj);}
}

详细讲解:

1. 读取和分割用户输入
String[] flights = sc.nextLine().split(",");
  • sc.nextLine():读取用户输入的一整行,例如输入 "CA123,AA456,CA122"
  • .split(","):使用逗号 "," 分割字符串,结果是一个字符串数组:["CA123", "AA456", "CA122"]

2. 创建 StringJoiner
StringJoiner sj = new StringJoiner(",");
  • StringJoiner 是一个用于拼接字符串的工具类,可以高效地将多个字符串组合起来。
  • 构造方法中的参数 "," 表示在拼接字符串时使用逗号作为分隔符。
  • 例如,拼接后的结果可能是 "AA456,CA122,CA123"

3. 对航班号数组排序

排序逻辑通过以下代码实现:

Arrays.stream(flights).sorted((a, b) -> { // 自定义排序逻辑}).forEach(sj::add); 

核心逻辑:自定义排序规则

自定义排序规则通过以下比较器 (a, b) 实现:

(a, b) -> {String abbr1 = a.substring(0, 2); // 提取第一个航班号的航空公司代码String num1 = a.substring(2);     // 提取第一个航班号的数字部分String abbr2 = b.substring(0, 2); // 提取第二个航班号的航空公司代码String num2 = b.substring(2);     // 提取第二个航班号的数字部分if (abbr1.equals(abbr2)) {        // 如果航空公司代码相同return num1.compareTo(num2);    // 按数字部分(航班号)排序} else {return abbr1.compareTo(abbr2);  // 否则按航空公司代码排序}
}

4. 排序规则解析

假设有以下航班号:

["CA123", "AA456", "CA122"]

排序过程:

  1. 提取 CA123 的航空公司代码 CA 和数字部分 123
  2. 提取 AA456 的航空公司代码 AA 和数字部分 456
  3. 比较航空公司代码:
    • CAAA 按字母顺序比较,AA 在前,CA 在后。
  4. 如果航空公司代码相同(如 CA123CA122),比较数字部分:
    • 123122122 在前,123 在后。

排序结果:

["AA456", "CA122", "CA123"]

5. 拼接排序后的字符串
.forEach(sj::add);
  • 遍历排序后的流中的每个航班号,并将其添加到 StringJoiner 对象 sj 中。
  • sj.add() 方法会将字符串拼接到一起,中间用逗号分隔。

例如:

AA456 + "," + CA122 + "," + CA123

6. 输出结果
System.out.println(sj);
  • 最终结果输出为一个以逗号分隔的字符串,例如:
AA456,CA122,CA123

示例输入与输出

示例 1:

输入:

CA123,AA456,CA122

排序过程:

  1. 按航空公司代码排序:AA 在前,CA 在后。
  2. 对于航空公司代码相同的航班(如 CA123CA122),按数字部分排序。

输出:

AA456,CA122,CA123

示例 2:

输入:

BA200,AA100,BA150

排序过程:

  1. 按航空公司代码排序:AA 在前,BA 在后。
  2. 对于航空公司代码相同的航班(如 BA200BA150),按数字部分排序。

输出:

AA100,BA150,BA200

代码特性

  1. 简洁性
    • 使用 Java 8 的 Stream API 和 Lambda 表达式,使代码简洁易读。
  2. 高效性
    • 流操作支持惰性计算,排序和拼接操作高效。
  3. 实用性
    • 适用于按特定规则对字符串数组进行排序的场景。

如果还有其他问题,欢迎随时提问!

四、Python算法源码


代码:

flights = input().split(",")  # 从用户输入读取航班号,并用逗号分割成列表flights.sort(key=lambda x: (x[0:2], x[2:]))  # 按自定义规则对航班号列表进行排序print(",".join(flights))  # 将排序后的航班号列表用逗号连接成字符串并输出

逐行注释和详细解释:

1. 从用户输入读取数据并分割成列表
flights = input().split(",")
  • input():
    • 读取用户在控制台输入的一行文本,例如:CA123,AA456,CA122
  • .split(","):
    • 使用逗号 "," 将输入的字符串分割成一个列表。
    • 假设输入是 "CA123,AA456,CA122"split(",") 的结果是:
      flights = ["CA123", "AA456", "CA122"]
      
  • 结果:
    • 用户输入的航班号被存储为一个字符串列表。

2. 对航班号列表进行排序
flights.sort(key=lambda x: (x[0:2], x[2:]))
  • .sort():

    • flights 列表进行原地排序(修改原列表,不生成新对象)。
    • key= 参数指定排序规则,这里是一个 lambda 函数,自定义了排序的逻辑。
  • lambda x: (x[0:2], x[2:]):

    • lambda 是一个匿名函数,这里用于定义排序的键值。
    • 对列表中的每个元素(即一个航班号字符串)x,根据以下规则确定排序优先级:
      1. x[0:2]:
        • 提取航班号的前两个字符,表示航空公司代码。
        • 例如 "CA123"x[0:2]"CA"
      2. x[2:]:
        • 提取航班号的第3个字符及之后的部分,表示航班号的数字部分。
        • 例如 "CA123"x[2:]"123"
      3. 组合键 (x[0:2], x[2:]):
        • 返回的是一个元组 (航空公司代码, 航班号数字部分),例如:
          • "CA123" -> ("CA", "123")
          • "AA456" -> ("AA", "456")
      4. 排序逻辑:
        • Python 会先按照元组的第一个元素(航空公司代码)排序。
        • 如果航空公司代码相同,再按照元组的第二个元素(航班号数字部分)排序。

3. 将排序后的列表拼接成字符串并输出
print(",".join(flights))
  • .join():
    • 将列表中的字符串用逗号 "," 拼接成一个新的字符串。
    • 例如:
      flights = ["AA456", "CA122", "CA123"]
      ",".join(flights) -> "AA456,CA122,CA123"
      
  • print():
    • 输出拼接后的结果到控制台。

完整执行流程示例

输入:
CA123,AA456,CA122
代码执行步骤:
  1. 读取输入并分割:
    flights = ["CA123", "AA456", "CA122"]
    
  2. 提取排序键(航空公司代码和航班号数字部分):
    • "CA123" 提取键:("CA", "123")
    • "AA456" 提取键:("AA", "456")
    • "CA122" 提取键:("CA", "122")
  3. 排序规则:
    • 按航空公司代码排序:"AA""CA" 前。
    • 对于航空公司代码相同的航班号(如 "CA123""CA122"),按数字部分排序。
    • 排序结果:
      ["AA456", "CA122", "CA123"]
      
  4. 拼接成字符串:
    result = "AA456,CA122,CA123"
    
  5. 输出结果:
    AA456,CA122,CA123
    

代码特性

  1. 简洁性:
    • 使用 Python 的内置函数 .sort()lambda 表达式,使代码非常简洁。
  2. 高效性:
    • .sort() 方法基于 Python 的 Timsort 算法,时间复杂度为 O(n log n),适合处理大规模数据。
  3. 灵活性:
    • 如果排序规则需要调整(例如基于更多字段排序),只需修改 lambda 函数即可。

扩展应用

此代码不仅适用于航班号排序,还可以处理类似的其他排序需求,例如:

  1. 按学生学号排序:
    students = ["ST123", "ST110", "ST101"]
    students.sort(key=lambda x: (x[0:2], x[2:]))
    print(",".join(students))  # 输出:ST101,ST110,ST123
    
  2. 按商品编码排序:
    products = ["PR456", "PR123", "AB789", "AB001"]
    products.sort(key=lambda x: (x[0:2], x[2:]))
    print(",".join(products))  # 输出:AB001,AB789,PR123,PR456
    

总结

这段 Python 代码实现了对航班号列表的排序,核心是使用 lambda 表达式对字符串进行拆分并自定义排序规则。代码结构简洁,逻辑清晰,适合多种类似的排序场景。如果有其他问题,欢迎随时提问!

五、C/C++算法源码:

C语言代码C++代码 的实现,并附有详细的中文注释与讲解。


C语言代码

#include <stdio.h>
#include <string.h>
#include <stdlib.h>// 自定义排序规则的比较函数
int cmp(const void *a, const void *b) {// 将void指针转换为char指针char *A = (char *)a;char *B = (char *)b;// 提取第一个字符串的航空公司代码和数字部分char abbr1[3];            // 航空公司代码(前2个字符)strncpy(abbr1, A, 2);     // 从A中复制前2个字符到abbr1abbr1[2] = '\0';          // 手动添加字符串结束符char num1[5];             // 航班号的数字部分(从第3个字符开始)strncpy(num1, A + 2, 4);num1[4] = '\0';           // 字符串结束符// 提取第二个字符串的航空公司代码和数字部分char abbr2[3];strncpy(abbr2, B, 2);abbr2[2] = '\0';char num2[5];strncpy(num2, B + 2, 4);num2[4] = '\0';// 按航空公司代码排序int res = strcmp(abbr1, abbr2);if (res == 0) {// 如果航空公司代码相同,则按数字部分排序return strcmp(num1, num2);} else {return res;}
}int main() {char s[1000]; // 存储用户输入的字符串fgets(s, sizeof(s), stdin); // 读取用户输入,包含空格和换行s[strcspn(s, "\n")] = '\0'; // 去除fgets读取的换行符char flights[100][7]; // 存储分割后的航班号int flights_size = 0; // 航班号的数量// 使用strtok分割字符串char *token = strtok(s, ",");while (token != NULL) {strcpy(flights[flights_size++], token); // 将每个航班号存入数组token = strtok(NULL, ",");             // 继续获取下一个分割值}// 使用qsort对航班号进行排序qsort(flights, flights_size, sizeof(flights[0]), cmp);// 输出排序后的结果for (int i = 0; i < flights_size; i++) {printf("%s", flights[i]);         // 输出每一个航班号if (i != flights_size - 1) {     // 如果不是最后一个,则输出逗号printf(",");}}return 0;
}

C语言代码详细讲解:
  1. 输入处理:

    • 使用 fgets() 读取用户输入的字符串,最大长度为 1000。通过 strtok() 函数将输入字符串按逗号 , 分割成多个航班号,并存储到二维数组 flights 中。
  2. 排序逻辑:

    • 实现了一个自定义比较函数 cmp(),通过 strcmp() 先按航空公司代码(前两个字符)比较,如果航空公司代码相同,则按航班号的数字部分(从第3个字符开始)进行比较。
    • 使用 qsort() 函数对数组进行排序。
  3. 输出结果:

    • 遍历排序后的航班号数组,依次输出航班号。如果当前航班号不是最后一个,则追加一个逗号。

C++代码

#include <iostream>
#include <vector>
#include <string>
#include <algorithm> // 用于std::sortusing namespace std;// 自定义排序规则的比较函数
bool cmp(const string &a, const string &b) {// 提取第一个字符串的航空公司代码和数字部分string abbr1 = a.substr(0, 2); // 提取前2个字符(航空公司代码)string num1 = a.substr(2);     // 提取第3个字符到末尾(航班号数字部分)// 提取第二个字符串的航空公司代码和数字部分string abbr2 = b.substr(0, 2);string num2 = b.substr(2);if (abbr1 == abbr2) {// 如果航空公司代码相同,则比较数字部分return num1 < num2;} else {// 否则按航空公司代码排序return abbr1 < abbr2;}
}int main() {string s;getline(cin, s); // 从标准输入读取一整行vector<string> flights; // 用于存储所有航班号size_t pos = 0;// 按逗号分割字符串while ((pos = s.find(',')) != string::npos) {flights.push_back(s.substr(0, pos)); // 提取逗号前的子串s.erase(0, pos + 1);                 // 删除已处理的部分}flights.push_back(s); // 将最后一个航班号加入列表// 使用std::sort对航班号进行排序sort(flights.begin(), flights.end(), cmp);// 输出排序后的结果for (size_t i = 0; i < flights.size(); i++) {cout << flights[i]; // 输出每一个航班号if (i != flights.size() - 1) {cout << ",";    // 如果不是最后一个航班号,则输出逗号}}return 0;
}

C++代码详细讲解:
  1. 输入处理:

    • 使用 getline() 函数从用户输入中读取一整行字符串。
    • 使用 stringfind()substr() 方法按逗号 , 分割字符串,将每个航班号存储到 vector<string> 中。
  2. 排序逻辑:

    • 定义一个自定义的排序函数 cmp(),其逻辑与 C 代码中的比较器类似。
    • 使用 std::sort() 函数对 vector<string> 进行排序。
  3. 输出结果:

    • 遍历排序后的 vector<string>,依次输出航班号。如果当前航班号不是最后一个,则输出一个逗号。

输入与输出示例

输入:
CA123,AA456,CA122
C输出:
AA456,CA122,CA123
C++输出:
AA456,CA122,CA123

C语言和C++代码的比较

特性C 代码C++ 代码
使用的数据结构二维数组 char flights[100][7]动态数组 vector<string>
字符串操作strncpy()strcpy()strtok()STL 的 string 方法,如 substr()
排序方式qsort()std::sort()
灵活性和可读性较低,不支持动态数组较高,支持动态数组和现代字符串操作

如果对代码或其中某部分还存在不清楚的地方,欢迎随时提问!

六、尾言

什么是华为OD?

华为OD(Outsourcing Developer,外包开发工程师)是华为针对软件开发工程师岗位的一种招聘形式,主要包括笔试、技术面试以及综合面试等环节。尤其在笔试部分,算法题的机试至关重要。

为什么刷题很重要?

  1. 机试是进入技术面的第一关:
    华为OD机试(常被称为机考)主要考察算法和编程能力。只有通过机试,才能进入后续的技术面试环节。

  2. 技术面试需要手撕代码:
    技术一面和二面通常会涉及现场编写代码或算法题。面试官会注重考察候选人的思路清晰度、代码规范性以及解决问题的能力。因此提前刷题、多练习是通过面试的重要保障。

  3. 入职后的可信考试:
    入职华为后,还需要通过“可信考试”。可信考试分为三个等级:

    • 入门级:主要考察基础算法与编程能力。
    • 工作级:更贴近实际业务需求,可能涉及复杂的算法或与工作内容相关的场景题目。
    • 专业级:最高等级,考察深层次的算法以及优化能力,与薪资直接挂钩。

刷题策略与说明:

2024年8月14日之后,华为OD机试的题库转为 E卷,由往年题库(D卷、A卷、B卷、C卷)和全新题目组成。刷题时可以参考以下策略:

  1. 关注历年真题:

    • 题库中的旧题占比较大,建议优先刷历年的A卷、B卷、C卷、D卷题目。
    • 对于每道题目,建议深度理解其解题思路、代码实现,以及相关算法的适用场景。
  2. 适应新题目:

    • E卷中包含全新题目,需要掌握全面的算法知识和一定的灵活应对能力。
    • 建议关注新的刷题平台或交流群,获取最新题目的解析和动态。
  3. 掌握常见算法:
    华为OD考试通常涉及以下算法和数据结构:

    • 排序算法(快速排序、归并排序等)
    • 动态规划(背包问题、最长公共子序列等)
    • 贪心算法
    • 栈、队列、链表的操作
    • 图论(最短路径、最小生成树等)
    • 滑动窗口、双指针算法
  4. 保持编程规范:

    • 注重代码的可读性和注释的清晰度。
    • 熟练使用常见编程语言,如C++、Java、Python等。

如何获取资源?

  1. 官方参考:

    • 华为招聘官网或相关的招聘平台会有一些参考信息。
    • 华为OD的相关公众号可能也会发布相关的刷题资料或学习资源。
  2. 加入刷题社区:

    • 找到可信的刷题交流群,与其他备考的小伙伴交流经验。
    • 关注知名的刷题网站,如LeetCode、牛客网等,这些平台上有许多华为OD的历年真题和解析。
  3. 寻找系统性的教程:

    • 学习一本经典的算法书籍,例如《算法导论》《剑指Offer》《编程之美》等。
    • 完成系统的学习课程,例如数据结构与算法的在线课程。

积极心态与持续努力:

刷题的过程可能会比较枯燥,但它能够显著提升编程能力和算法思维。无论是为了通过华为OD的招聘考试,还是为了未来的职业发展,这些积累都会成为重要的财富。

考试注意细节

  1. 本地编写代码

    • 在本地 IDE(如 VS Code、PyCharm 等)上编写、保存和调试代码,确保逻辑正确后再复制粘贴到考试页面。这样可以减少语法错误,提高代码准确性。
  2. 调整心态,保持冷静

    • 遇到提示不足或实现不确定的问题时,不必慌张,可以采用更简单或更有把握的方法替代,确保思路清晰。
  3. 输入输出完整性

    • 注意训练和考试时都需要编写完整的输入输出代码,尤其是和题目示例保持一致。完成代码后务必及时调试,确保功能符合要求。
  4. 快捷键使用

    • 删除行可用 Ctrl+D,复制、粘贴和撤销分别为 Ctrl+CCtrl+VCtrl+Z,这些可以正常使用。
    • 避免使用 Ctrl+S,以免触发浏览器的保存功能。
  5. 浏览器要求

    • 使用最新版的 Google Chrome 浏览器完成考试,确保摄像头开启并正常工作。考试期间不要切换到其他网站,以免影响考试成绩。
  6. 交卷相关

    • 答题前,务必仔细查看题目示例,避免遗漏要求。
    • 每完成一道题后,点击【保存并调试】按钮,多次保存和调试是允许的,系统会记录得分最高的一次结果。完成所有题目后,点击【提交本题型】按钮。
    • 确保在考试结束前提交试卷,避免因未保存或调试失误而丢分。
  7. 时间和分数安排

    • 总时间:150 分钟;总分:400 分。
    • 试卷结构:2 道一星难度题(每题 100 分),1 道二星难度题(200 分)。及格分为 150 分。合理分配时间,优先完成自己擅长的题目。
  8. 考试环境准备

    • 考试前请备好草稿纸和笔。考试中尽量避免离开座位,确保监控画面正常。
    • 如需上厕所,请提前规划好时间以减少中途离开监控的可能性。
  9. 技术问题处理

    • 如果考试中遇到断电、断网、死机等技术问题,可以关闭浏览器并重新打开试卷链接继续作答。
    • 出现其他问题,请第一时间联系 HR 或监考人员进行反馈。

祝你考试顺利,取得理想成绩!

http://www.lryc.cn/news/520872.html

相关文章:

  • Vue.js组件开发-使用地图绘制轨迹
  • vue 与 vue-json-viewer 实现 JSON 数据可视化
  • ubuntu Android : adb logcat 过滤多个log
  • kubeneters-循序渐进Cilium网络(三)
  • 编译与汇编
  • 对MySQL滴MVCC理解(超详细)
  • Mac玩Steam游戏秘籍!
  • matlab实现了一个优化的遗传算法,用于求解注汽站最优位置的问题
  • 电商项目-基于ElasticSearch实现商品搜索功能(三)
  • 【Vim Masterclass 笔记12】S06L26 + L27:Vim 文本的搜索、查找及替换同步练习(含点评课)
  • Jsoup实现实时爬取
  • 如何在Ubuntu上安装Cmake
  • 图解Git——分支开发工作流《Pro Git》
  • 没有正确使用HTTP Range Request,导致访问Azure Blob存储的视频没有实现流式播放
  • 回归预测 | MATLAB实RVM相关向量机多输入单输出回归预测
  • 开发人员学习书籍推荐(C#、Python方向)
  • Springboot + vue 小区物业管理系统
  • 基于深度学习的视觉检测小项目(十二) 使用线条边框和渐变颜色美化界面
  • 基于OQuPy的量子编程实例探究:理论、实践与展望
  • 【数据库】二、关系数据库
  • C#类型转换
  • 【Vue】Vue组件--上
  • 21、Transformer Masked loss原理精讲及其PyTorch逐行实现
  • 构建高性能网络服务:从 Socket 原理到 Netty 应用实践
  • Spring Boot教程之五十六:用 Apache Kafka 消费 JSON 消息
  • Elasticsearch ES|QL 地理空间索引加入纽约犯罪地图
  • csp-j知识点:联合(Union)的基本概念
  • docker-compose 方式安装部署confluence
  • 深入理解计算机系统阅读笔记-第十二章
  • 网络原理(九):数据链路层 - 以太网协议 应用层 - DNS 协议