【华为OD机试|01】最远足迹(Java/C/Py/JS)

目录

一、题目介绍

1.1 题目描述

1.2 备注:

1.3 输入描述

1.4 输出描述

1.5 用例

二、Java代码实现

2.1 实现思路

2.2 详细代码

2.3 代码讲解:

三、C语言实现

3.1实现步骤

3.2 实现代码

3.3 代码详解

四、Python实现

4.1 实现步骤

4.2 代码实现

4.3 详细讲解

五、JS实现

5.1 实现步骤

5.2 详细代码

5.3详细讲解

六、总结


一、题目介绍

1.1 题目描述

某探险队负责对地下洞穴进行探险。探险队成员在进行探险任务时,随身携带的记录器会不定期地记录自身的坐标,但在记录的间隙中也会记录其他数据。探索工作结束后,探险队需要获取到某成员在探险过程中相对于探险队总部的最远的足迹位置。

  1. 仪器记录坐标时,坐标的数据格式为(x,y),如(1,2)、(100,200),其中0<x<1000,0<y<1000。同时存在非法坐标,如(01,1)、(1,01),(0,100)属于非法坐标。
  2. 设定探险队总部的坐标为(0,0),某位置相对总部的距离为:x*x+y*y。
  3. 若两个座标的相对总部的距离相同,则第一次到达的坐标为最远的足迹。
  4. 若记录仪中的坐标都不合法,输出总部坐标(0,0)。

1.2 备注:

不需要考虑双层括号嵌套的情况,比如sfsdfsd((1,2))。

1.3 输入描述

字符串,表示记录仪中的数据。

如:ferga13fdsf3(100,200)f2r3rfasf(300,400)

1.4 输出描述

字符串,表示最远足迹到达的坐标。

如: (300,400)

1.5 用例

输入ferg(3,10)a13fdsf3(3,4)f2r3rfasf(5,10)
输出(5,10)
说明记录仪中的合法坐标有3个: (3,10), (3,4), (5,10),其中(5,10)是相距总部最远的坐标, 输出(5,10)。
输入asfefaweawfaw(0,1)fe
输出(0,0)
说明记录仪中的坐标都不合法,输出总部坐标(0,0)。

二、Java代码实现

实现这个题目,需要解析字符串中的有效坐标,计算它们到总部 (0,0) 的距离,并找出最远的一个坐标。如果记录中的所有坐标都不合法,我们将返回总部坐标 (0,0)。

2.1 实现思路

实现步骤如下:

  1. 解析字符串:提取出所有合法的坐标。
  2. 验证坐标合法性:确保坐标满足格式要求,且 x 和 y 在 (0,1000) 之间。
  3. 计算距离:计算每个合法坐标到总部 (0,0) 的距离。
  4. 找出最远的坐标:在所有合法坐标中找出距离最大的那个。
  5. 处理异常情况:如果没有合法坐标,返回总部坐标 (0,0)。

2.2 详细代码

下面是具体实现代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class CaveExploration {
    public static void main(String[] args) {
        String input = "ferga13fdsf3(100,200)f2r3rfasf(300,400)";
        System.out.println(findFarthestCoordinate(input));
    }

    public static String findFarthestCoordinate(String input) {
        // 定义正则表达式以提取合法的坐标
        Pattern pattern = Pattern.compile("\\((\\d{1,3}),(\\d{1,3})\\)");
        Matcher matcher = pattern.matcher(input);

        String farthestCoordinate = "(0,0)";
        int maxDistance = 0;

        while (matcher.find()) {
            String xStr = matcher.group(1);
            String yStr = matcher.group(2);
            int x = Integer.parseInt(xStr);
            int y = Integer.parseInt(yStr);

            // 检查坐标是否合法
            if (isValidCoordinate(xStr, yStr, x, y)) {
                int distance = x * x + y * y;
                if (distance > maxDistance) {
                    maxDistance = distance;
                    farthestCoordinate = "(" + x + "," + y + ")";
                }
            }
        }

        return farthestCoordinate;
    }

    // 验证坐标是否合法
    private static boolean isValidCoordinate(String xStr, String yStr, int x, int y) {
        return x > 0 && x < 1000 && y > 0 && y < 1000 &&
                !xStr.startsWith("0") && !yStr.startsWith("0");
    }
}

2.3 代码讲解:

1. 字符串解析

在Java中,我们使用正则表达式提取字符串中的坐标。

Pattern pattern = Pattern.compile("\\((\\d{1,3}),(\\d{1,3})\\)");
Matcher matcher = pattern.matcher(input);

解析思路

  • 使用正则表达式 \\((\\d{1,3}),(\\d{1,3})\\) 匹配形如 (x,y) 的坐标,其中 x 和 y 是 1 到 3 位的数字。
  • matcher.find() 用于在输入字符串中查找所有符合正则表达式的子字符串。

2. 合法性验证

通过解析得到的字符串,进一步验证它们是否合法。

private static boolean isValidCoordinate(String xStr, String yStr, int x, int y) {
    return x > 0 && x < 1000 && y > 0 && y < 1000 &&
           !xStr.startsWith("0") && !yStr.startsWith("0");
}

验证思路

  • 坐标 x 和 y 必须在 (0,1000) 范围内。
  • 坐标字符串不能以 "0" 开头,除非它是单个 "0"。

3. 距离计算

计算每个合法坐标到总部 (0,0) 的距离。

通过这种方式,可以确保找出距离总部最远的合法坐标,并处理非法坐标和无坐标的情况。

三、C语言实现

使用C语言实现这个题目,我们需要解析字符串中的有效坐标,计算它们到总部 (0,0) 的距离,并找出最远的一个坐标。如果记录中的所有坐标都不合法,我们将返回总部坐标 (0,0)。

3.1实现步骤

  1. 解析字符串:提取出所有合法的坐标。
  2. 验证坐标合法性:确保坐标满足格式要求,且 x 和 y 在 (0,1000) 之间。
  3. 计算距离:计算每个合法坐标到总部 (0,0) 的距离。
  4. 找出最远的坐标:在所有合法坐标中找出距离最大的那个。
  5. 处理异常情况:如果没有合法坐标,返回总部坐标 (0,0)。

3.2 实现代码

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

// 判断是否是合法的坐标
int isValidCoordinate(char *xStr, char *yStr, int x, int y) {
    return x > 0 && x < 1000 && y > 0 && y < 1000 && 
           (xStr[0] != '0' || strlen(xStr) == 1) && 
           (yStr[0] != '0' || strlen(yStr) == 1);
}

int main() {
    char input[] = "ferga13fdsf3(100,200)f2r3rfasf(300,400)";
    char *ptr = input;
    char xStr[4], yStr[4];
    int maxDistance = 0;
    char farthestCoordinate[10] = "(0,0)";

    while ((ptr = strstr(ptr, "(")) != NULL) {
        if (sscanf(ptr, "(%3[0-9],%3[0-9])", xStr, yStr) == 2) {
            int x = atoi(xStr);
            int y = atoi(yStr);
            if (isValidCoordinate(xStr, yStr, x, y)) {
                int distance = x * x + y * y;
                if (distance > maxDistance) {
                    maxDistance = distance;
                    sprintf(farthestCoordinate, "(%d,%d)", x, y);
                }
            }
        }
        ptr++;
    }

    printf("%s\n", farthestCoordinate);
    return 0;
}

3.3 代码详解

1. 字符串解析

在C语言中,我们使用 strstrsscanf 来解析字符串。

while ((ptr = strstr(ptr, "(")) != NULL) {
    if (sscanf(ptr, "(%3[0-9],%3[0-9])", xStr, yStr) == 2) {
        ...
    }
    ptr++;
}

2.解析思路

  • 使用 strstr 查找字符串中第一个 ( 的位置。
  • 使用 sscanf 提取括号中的数字对,格式为 (%3[0-9],%3[0-9]),确保读取的数字不超过3位。
2. 合法性验证

通过解析得到的字符串,进一步验证它们是否合法。

int isValidCoordinate(char *xStr, char *yStr, int x, int y) {
    return x > 0 && x < 1000 && y > 0 && y < 1000 && 
           (xStr[0] != '0' || strlen(xStr) == 1) && 
           (yStr[0] != '0' || strlen(yStr) == 1);
}

验证思路

  • 坐标 x 和 y 必须在 (0,1000) 范围内。
  • 坐标字符串不能以 "0" 开头,除非它是单个 "0"。
3. 距离计算

计算每个合法坐标到总部 (0,0) 的距离。

int distance = x * x + y * y;

计算思路

  • 使用欧几里得距离的平方来比较不同坐标的远近,公式为 distance = x * x + y * y
4. 找出最远的坐标

在所有合法坐标中找出距离最大的那个。

if (distance > maxDistance) {
    maxDistance = distance;
    sprintf(farthestCoordinate, "(%d,%d)", x, y);
}

思路

  • 使用变量 maxDistance 记录最大距离,每次计算新的距离后与之比较,更新最大距离和最远坐标。

四、Python实现

使用Python实现这个题目同样需要解析字符串中的有效坐标,计算它们到总部 (0,0) 的距离,并找出最远的一个坐标。如果记录中的所有坐标都不合法,我们将返回总部坐标 (0,0)。

4.1 实现步骤

  1. 解析字符串:提取出所有合法的坐标。
  2. 验证坐标合法性:确保坐标满足格式要求,且 x 和 y 在 (0,1000) 之间。
  3. 计算距离:计算每个合法坐标到总部 (0,0) 的距离。
  4. 找出最远的坐标:在所有合法坐标中找出距离最大的那个。
  5. 处理异常情况:如果没有合法坐标,返回总部坐标 (0,0)。

4.2 代码实现

import re

def find_farthest_coordinate(data):
    # 定义正则表达式以提取合法的坐标
    pattern = re.compile(r'\((\d{1,3}),(\d{1,3})\)')
    matches = pattern.findall(data)
    
    max_distance = 0
    farthest_coordinate = "(0,0)"
    
    for match in matches:
        x_str, y_str = match
        x = int(x_str)
        y = int(y_str)
        
        # 检查坐标是否合法
        if is_valid_coordinate(x_str, y_str, x, y):
            distance = x * x + y * y
            if distance > max_distance:
                max_distance = distance
                farthest_coordinate = f"({x},{y})"
    
    return farthest_coordinate

def is_valid_coordinate(x_str, y_str, x, y):
    # 验证坐标是否合法
    return 0 < x < 1000 and 0 < y < 1000 and \
           not (x_str.startswith("0") and len(x_str) > 1) and \
           not (y_str.startswith("0") and len(y_str) > 1)

# 示例输入
input_data = "ferga13fdsf3(100,200)f2r3rfasf(300,400)"
print(find_farthest_coordinate(input_data))  # 输出: (300,400)

4.3 详细讲解

1. 字符串解析

在Python中,我们使用正则表达式提取字符串中的坐标。

pattern = re.compile(r'\((\d{1,3}),(\d{1,3})\)')
matches = pattern.findall(data)

解析思路

  • 使用正则表达式 \((\d{1,3}),(\d{1,3})\) 匹配形如 (x,y) 的坐标,其中 x 和 y 是 1 到 3 位的数字。
  • findall 方法返回所有匹配的坐标对。

2. 合法性验证

通过解析得到的字符串,进一步验证它们是否合法。

def is_valid_coordinate(x_str, y_str, x, y):
    return 0 < x < 1000 and 0 < y < 1000 and \
           not (x_str.startswith("0") and len(x_str) > 1) and \
           not (y_str.startswith("0") and len(y_str) > 1)

验证思路

  • 坐标 x 和 y 必须在 (0,1000) 范围内。
  • 坐标字符串不能以 "0" 开头,除非它是单个 "0"。
3. 距离计算

计算每个合法坐标到总部 (0,0) 的距离。

distance = x * x + y * y

计算思路

  • 使用欧几里得距离的平方来比较不同坐标的远近,公式为 distance = x * x + y * y
4. 找出最远的坐标

在所有合法坐标中找出距离最大的那个。

if distance > max_distance:
    max_distance = distance
    farthest_coordinate = f"({x},{y})"

思路

  • 使用变量 max_distance 记录最大距离,每次计算新的距离后与之比较,更新最大距离和最远坐标。
5. 处理异常情况

如果没有合法坐标,最远的坐标默认为 (0,0)

max_distance = 0
farthest_coordinate = "(0,0)"

思路

  • 初始时将最远坐标设为 (0,0),如果找到合法坐标,更新为最远坐标。

通过上述步骤,可以在Python中实现解析字符串并找出距离总部最远的合法坐标,并处理非法坐标和无坐标的情况。

五、JS实现

使用JavaScript实现这个题目同样需要解析字符串中的有效坐标,计算它们到总部 (0,0) 的距离,并找出最远的一个坐标。如果记录中的所有坐标都不合法,我们将返回总部坐标 (0,0)。

5.1 实现步骤

  1. 解析字符串:提取出所有合法的坐标。
  2. 验证坐标合法性:确保坐标满足格式要求,且 x 和 y 在 (0,1000) 之间。
  3. 计算距离:计算每个合法坐标到总部 (0,0) 的距离。
  4. 找出最远的坐标:在所有合法坐标中找出距离最大的那个。
  5. 处理异常情况:如果没有合法坐标,返回总部坐标 (0,0)。

5.2 详细代码

function findFarthestCoordinate(data) {
    // 定义正则表达式以提取合法的坐标
    const pattern = /\((\d{1,3}),(\d{1,3})\)/g;
    let matches;
    let maxDistance = 0;
    let farthestCoordinate = "(0,0)";

    while ((matches = pattern.exec(data)) !== null) {
        const xStr = matches[1];
        const yStr = matches[2];
        const x = parseInt(xStr, 10);
        const y = parseInt(yStr, 10);

        // 检查坐标是否合法
        if (isValidCoordinate(xStr, yStr, x, y)) {
            const distance = x * x + y * y;
            if (distance > maxDistance) {
                maxDistance = distance;
                farthestCoordinate = `(${x},${y})`;
            }
        }
    }

    return farthestCoordinate;
}

// 验证坐标是否合法
function isValidCoordinate(xStr, yStr, x, y) {
    return x > 0 && x < 1000 && y > 0 && y < 1000 &&
           !(xStr.startsWith("0") && xStr.length > 1) &&
           !(yStr.startsWith("0") && yStr.length > 1);
}

// 示例输入
const inputData = "ferga13fdsf3(100,200)f2r3rfasf(300,400)";
console.log(findFarthestCoordinate(inputData));  // 输出: (300,400)

5.3详细讲解

1. 字符串解析

在JavaScript中,我们使用正则表达式提取字符串中的坐标。

const pattern = /\((\d{1,3}),(\d{1,3})\)/g;
let matches;

解析思路

  • 使用正则表达式 \((\d{1,3}),(\d{1,3})\) 匹配形如 (x,y) 的坐标,其中 x 和 y 是 1 到 3 位的数字。
  • pattern.exec(data) 用于在输入字符串中查找所有符合正则表达式的子字符串。

2. 合法性验证

通过解析得到的字符串,进一步验证它们是否合法。

function isValidCoordinate(xStr, yStr, x, y) {
    return x > 0 && x < 1000 && y > 0 && y < 1000 &&
           !(xStr.startsWith("0") && xStr.length > 1) &&
           !(yStr.startsWith("0") && yStr.length > 1);
}

验证思路

  • 坐标 x 和 y 必须在 (0,1000) 范围内。
  • 坐标字符串不能以 "0" 开头,除非它是单个 "0"。

3. 距离计算

计算每个合法坐标到总部 (0,0) 的距离。

const distance = x * x + y * y;

计算思路

  • 使用欧几里得距离的平方来比较不同坐标的远近,公式为 distance = x * x + y * y
4. 找出最远的坐标

在所有合法坐标中找出距离最大的那个。

if (distance > maxDistance) {
    maxDistance = distance;
    farthestCoordinate = `(${x},${y})`;
}

思路

  • 使用变量 maxDistance 记录最大距离,每次计算新的距离后与之比较,更新最大距离和最远坐标。
5. 处理异常情况

如果没有合法坐标,最远的坐标默认为 (0,0)

let maxDistance = 0;
let farthestCoordinate = "(0,0)";

思路

  • 初始时将最远坐标设为 (0,0),如果找到合法坐标,更新为最远坐标。

通过上述步骤,我们可以在JavaScript中实现解析字符串并找出距离总部最远的合法坐标,并处理非法坐标和无坐标的情况。

六、总结

在上述问题中,我们通过解析记录字符串找到距离总部 (0,0) 最远的合法坐标。我们分别使用了Java、C、Python和JavaScript四种语言实现了解决方案。

下期见啦~🥰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/746829.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux开发讲课16--- 【内存管理】页表映射基础知识2

ARM32页表和Linux页表那些奇葩的地方 ARM32硬件页表中PGD页目录项PGD是从20位开始的&#xff0c;但是为何头文件定义是从21位开始&#xff1f; 历史原因&#xff1a;Linux最初是基于x86的体系结构设计的&#xff0c;因此Linux内核很多的头文件的定义都是基于x86的&#xff0c…

离线安装docker-v26.1.4,compose-v2.27.0

目录 ​编辑 1.我给大家准备好了提取即可 2.安装docker和compose 3.解压 4.切换目录 5.执行脚本 6.卸载docker和compose 7.执行命令 “如果您在解决类似问题时也遇到了困难&#xff0c;希望我的经验分享对您有所帮助。如果您有任何疑问或者想分享您的经历&#xff0c;…

Java 8 新特性:Lambda表达式让你的代码焕然一新——掌握它,让编程变得轻松又高效!

前言 Java 8 是 Java 发展史上的一次重要里程碑。作为企业级开发语言&#xff0c;它在性能和功能上做了巨大的提升。这其中&#xff0c;Lambda表达式是一个关键的新特性&#xff0c;它为 Java 语言带来了函数式编程的概念。本篇文章将深入探讨Lambda表达式&#xff0c;并结合热…

[油猴脚本] Image To Ascii 快速转换审计网站图片中敏感信息插件

项目地址:https://github.com/MartinxMax/ImageToAscii 导入 将ImagetoAscii.user.js导入油猴 进行按照 访问网站分析图片 当鼠标靠近图片时会出现分析按钮 通过审查图片信息,我们可以快速发现这张图片存在PHP代码。 当然在渗透测试中,你可以快速查看上传的图片木马中PHP代码…

vuejs3用gsap实现动画

效果 gsap官网地址&#xff1a; https://gsap.com/ 安装gsap npm i gsap 创建Gsap.vue文件 <script setup> import {reactive, watch} from "vue"; import gsap from "gsap"; const props defineProps({value:{type:Number,default:0} }) cons…

多线程思维导图

多线程 线程是一个程序内部的一条执行流程 多线程的好处————消息通信&#xff0c;网页浏览等等 多线程是指从软硬件上实现多条执行流程的技术 并发和并行同时执行 多线程的创建 Java.Long包下的Thread类 定义一个子类…

RT-Thread使用HAL库实现双线程控制LED交替闪烁

如何创建工程我的其他文中你面有可以进去查看 1创建线程&#xff08;以动态方式实现&#xff09; 1-2创建函数入口 1-2启动函数 main.c文件源码 /** Copyright (c) 2006-2024, RT-Thread Development Team** SPDX-License-Identifier: Apache-2.0** Change Logs:* Date …

自动驾驶技术综述:附自动驾驶公司一览表

前言 自动驾驶技术是一项复杂的系统工程&#xff0c;涵盖了众多技术领域。本文将从硬件和软件两个方面&#xff0c;详细介绍自动驾驶汽车涉及的关键技术&#xff0c;希望能为您提供有益的参考。 一、硬件 自动驾驶汽车的实现离不开各种硬件的支持。以下是一张自动驾驶研究所…

【LeetCode 274】H指数

1. 题目 2. 分析 这题没啥难度&#xff0c;需要熟练运用Python API。 sort(reverseTrue)可以用于排序List&#xff0c;并且倒序排序。 3. 代码 class Solution:def hIndex(self, citations: List[int]) -> int:citations.sort(reverseTrue)res 0for idx,cite in enume…

CentOS7环境脚本一键安装MySQL8

安装包准备 获取下载地址 选择对应的下载版本&#xff0c;如下图&#xff0c;右键RPM Bundle的Download&#xff0c;复制下载链接地址 下载安装包 [hadoopnode3 installfile]$ wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.31-1.el7.x86_64.rpm-bund…

【Docker项目实战篇】Docker部署PDF多功能工具Stirling-PDF

【Docker项目实战篇】Docker部署PDF多功能工具Stirling-PDF 前言一、Stirling-PDF介绍1.1 Stirling-PDF简介1.2 Stirling-PDF功能 二、本次实践规划2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四…

游戏AI的创造思路-技术基础-sigmoid函数详解

在前面的机器学习和深度学习的内容中&#xff0c;大量出现了sigmoid函数&#xff0c;所以本篇为大家介绍下sigmoid函数&#xff0c;希望对大家理解前面的算法和后面的Transformer有所帮助 目录 3.8. sigmoid函数 3.8.1. 定义 3.8.2. 性质 3.8.3. 应用 3.8.4. 缺点 3.8.5.…

php,python AES/CBC/PKCS7Padding加密解密 base64/hex编码

1. python版本 import base64 from Crypto.Cipher import AES from Crypto.Util.Padding import pad, unpadclass AESUtilCBC:def __init__(self, key, iv):self.key key.encode(utf-8)self.iv iv.encode(utf-8)self.pad_length AES.block_sizedef encrypt(self, data):try…

JVM专题十一:JVM 中的收集器一

上一篇JVM专题十&#xff1a;JVM中的垃圾回收机制专题中&#xff0c;我们主要介绍了Java的垃圾机制&#xff0c;包括垃圾回收基本概念&#xff0c;重点介绍了垃圾回收机制中自动内存管理与垃圾收集算法。如果说收集算法是内存回收的方法论&#xff0c;那么垃圾收集器就是内存回…

Python代码打包成exe应用

目录 一、前期准备 二、Pyinstaller打包步骤 Pyinstaller参数详解 三、测试 Spec 文件相关命令 一、前期准备 &#xff08;1&#xff09;首先&#xff0c;我们需要确保你的代码可以在本地电脑上的pycharm正常运行成功。 &#xff08;2&#xff09;我们要先安装Pyinstalle…

Epic登录转圈/Epic登录不上一直转圈的五种办法分享

Epic Games&#xff08;Epic商店&#xff09;是Epic旗下的数字游戏综合平台&#xff0c;不仅游戏数量众多&#xff0c;还可以每周在上面免费领取各种类型的热门游戏&#xff0c;深受国内游戏玩家追捧。不少玩家反馈在登录epic账号时会遇到转圈圈的情况&#xff0c;一直无法登录…

cs与msf权限传递,与mimikatz抓取win2012明文密码

CS与MSF的权限互相传递抓取windows2012的明文密码 CS与MSF的权限互相传递 1、启动cs服务端 2、客户端连接 3、配置监听&#xff0c;并设置监听端口为9999 4、生成脚本 5、开启服务&#xff0c;下载并运行木马 已获取权限 6、进入msf并设置监听 7、cs新建监听&#xff0c;与m…

python-docx 设置页面边距、页眉页脚高度

本文目录 前言一、docx 页面边距在哪里二、对 <w:pgMar> 的详细说明1、上边距的说明2、右边距的说明3、下边距的说明4、左边距的说明5、页眉高度的说明6、页脚高度的说明三、设置 docx 页边距、页眉页脚高度1、完整代码2、代码执行效果图四、补充一些内容1、页面边距的两…

`THREE.PointsMaterial` 是 Three.js 中用于创建粒子系统材质的类。它允许你设置粒子系统的外观属性,比如颜色、大小和透明度。

demo案例 THREE.PointsMaterial 是 Three.js 中用于创建粒子系统材质的类。它允许你设置粒子系统的外观属性&#xff0c;比如颜色、大小和透明度。下面是对其构造函数的参数、属性和方法的详细讲解。 构造函数 const material new THREE.PointsMaterial(parameters);参数&am…

浏览器扩展V3开发系列之 chrome.commands 快捷键的用法和案例

【作者主页】&#xff1a;小鱼神1024 【擅长领域】&#xff1a;JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 chrome.commands API 允许开发者使用快捷键来执行特定的命令。 在使用 chrome.commands API 之前必须…