【华为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 题目描述
某探险队负责对地下洞穴进行探险。探险队成员在进行探险任务时,随身携带的记录器会不定期地记录自身的坐标,但在记录的间隙中也会记录其他数据。探索工作结束后,探险队需要获取到某成员在探险过程中相对于探险队总部的最远的足迹位置。
- 仪器记录坐标时,坐标的数据格式为(x,y),如(1,2)、(100,200),其中0<x<1000,0<y<1000。同时存在非法坐标,如(01,1)、(1,01),(0,100)属于非法坐标。
- 设定探险队总部的坐标为(0,0),某位置相对总部的距离为:x*x+y*y。
- 若两个座标的相对总部的距离相同,则第一次到达的坐标为最远的足迹。
- 若记录仪中的坐标都不合法,输出总部坐标(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 实现思路
实现步骤如下:
- 解析字符串:提取出所有合法的坐标。
- 验证坐标合法性:确保坐标满足格式要求,且 x 和 y 在 (0,1000) 之间。
- 计算距离:计算每个合法坐标到总部 (0,0) 的距离。
- 找出最远的坐标:在所有合法坐标中找出距离最大的那个。
- 处理异常情况:如果没有合法坐标,返回总部坐标 (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实现步骤
- 解析字符串:提取出所有合法的坐标。
- 验证坐标合法性:确保坐标满足格式要求,且 x 和 y 在 (0,1000) 之间。
- 计算距离:计算每个合法坐标到总部 (0,0) 的距离。
- 找出最远的坐标:在所有合法坐标中找出距离最大的那个。
- 处理异常情况:如果没有合法坐标,返回总部坐标 (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语言中,我们使用 strstr 和 sscanf 来解析字符串。
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 实现步骤
- 解析字符串:提取出所有合法的坐标。
- 验证坐标合法性:确保坐标满足格式要求,且 x 和 y 在 (0,1000) 之间。
- 计算距离:计算每个合法坐标到总部 (0,0) 的距离。
- 找出最远的坐标:在所有合法坐标中找出距离最大的那个。
- 处理异常情况:如果没有合法坐标,返回总部坐标 (0,0)。
4.2 代码实现
import redef find_farthest_coordinate(data):# 定义正则表达式以提取合法的坐标pattern = re.compile(r'\((\d{1,3}),(\d{1,3})\)')matches = pattern.findall(data)max_distance = 0farthest_coordinate = "(0,0)"for match in matches:x_str, y_str = matchx = int(x_str)y = int(y_str)# 检查坐标是否合法if is_valid_coordinate(x_str, y_str, x, y):distance = x * x + y * yif distance > max_distance:max_distance = distancefarthest_coordinate = f"({x},{y})"return farthest_coordinatedef 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 = distancefarthest_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 实现步骤
- 解析字符串:提取出所有合法的坐标。
- 验证坐标合法性:确保坐标满足格式要求,且 x 和 y 在 (0,1000) 之间。
- 计算距离:计算每个合法坐标到总部 (0,0) 的距离。
- 找出最远的坐标:在所有合法坐标中找出距离最大的那个。
- 处理异常情况:如果没有合法坐标,返回总部坐标 (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四种语言实现了解决方案。
下期见啦~🥰
相关文章:
【华为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 …...
conda安装管理配置
原文链接:conda管理配置 导言 安装卸载 卸载 卸载 docker sudo rm -r /opt/anaconda3 #conda安装位置安装 从镜像archive中下载sh脚本安装 bash ./software/Anaconda3-2024.02-1-Linux-x86_64.sh -b -p /opt/anaconda3 #conda安装位置管理 查看 conda --ver…...
鸿蒙开发HarmonyOS NEXT(一)
最近总听见大家讨论鸿蒙,前端转型的好方向?先入门学习下 目前官方版本和文档持续更新中 一、开发环境 提示:要占用的空间比较多,建议安装在剩余空间多的盘 1、下载:官网最新工具 - 下载中心 - 华为开发者联盟 (huaw…...
新能源革命风起云涌:创新科技引领可持续发展新篇章
随着全球气候变化和环境问题日益严峻,新能源革命正以其不可阻挡的势头,席卷着世界的每一个角落。 创新科技在这场革命中发挥着至关重要的作用,它不仅是新能源开发利用的引擎,更是推动可持续发展的关键力量。 新能源革命的核心在于…...
Java之TimeUnit类
1.TimeUnit类介绍 TimeUnit(时间单元)是一个描述时间单元的枚举类,在该枚举类中定义有以下的几个时间单元实例:天(DAYS)、时(HOURS)、分(MINUTES)、秒&#…...
【大数据】大数据时代的黎明
目录 前言 深入解读大数据的本质 大数据的起源与演进轨迹 大数据对社会经济的深远影响 经济领域的革新 社会治理与公共服务的智能化 创新体系的重构 面临的挑战与应对 前言 步入21世纪以来,人类文明正站在一个历史性的转折点上,迎来了大数据时代的…...
多接口分线盒在工业自动化中的重要性与应用
简介 多接口分线盒是现代工业自动化中不可或缺的一个组成部分,它主要用于简化复杂的接线系统,提高效率和可靠性。本文将详细探讨多接口分线盒的定义、功能、以及在工业自动化中的应用情况。 无源多接口分线盒 多接口分线盒的定义与功能 多接口分线盒是…...
C# Modbus设备信息加载的实现方式(2)
GlobalProperties是一个全局的数据,类似CoreData: public class GlobalProperties{public static Device Device { set; get; }public static Action<int, string> AddLog;public static SysAdmin CurrentAdmin;public static ModbusTCP Modbus { …...
mongoDB基本命令操作
文章目录 1. 安装(1). 启动mongodb(2). 数据库连接 2. 基本命令(1) 数据库操作(2) 集合操作(3) 文档操作1) 简单查询2) 条件查询3) 投影查询4) 文档更新5) 列值增长修改6) 删除文档7) 分页查询8) 排序查询9) 正则查询(模糊查询)10) 比较查询11) 包含查询 3. 索引(1) 执行计划 1…...
MySQL索引,事务
一.MySQL索引介绍 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分大的时候,索引可以大大加快查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数…...
嵌入式软件面试记录(5)
1.FreeRTOS使用,是自己移植的吗,移植过程中设置了多少个任务? 答:是自己移植的,从官网下载的包根据手册移植的。 主要涉及以下几个任务: 主任务:负责系统初始化和创建其他任务。创建队列任务点…...
Linux-笔记 OverlayFS文件系统入门
目录 前言 主要概念 工作原理 特点特性 1、上下合并 2、同名文件覆盖 3、同名目录合并 4、写时拷贝 实操入门 内核配置 挂载文件系统 验证 1、同名文件覆盖 2、同名目录合并 3、写时拷贝 1)验证新增文件或目录 2)验证修改文件 3&…...
Kubernetes面试整理-如何配置和使用Service, Ingress?
在 Kubernetes 中,Service 和 Ingress 是用于管理和暴露应用程序的网络访问的主要资源。以下是如何配置和使用 Service 和 Ingress 的详细指南: Service Service 是一种抽象,用于定义一组 Pod 的逻辑集合,并提供一种访问这些 Pod 的策略。Service 可以使应用程序内部或外部…...
深入浅出:NPM常用命令详解与实践
深入浅出地讲解npm常用命令及其实践,可以帮助开发者更好地理解和使用这个强大的Node.js 包管理工具。以下是一些常用的npm命令及其详细解释和实践案例: 1:初始化项目: 命令:npm init用途:生成一个package…...
IPv6 address status lifetime
IPv6 地址状态转换 Address lifetime (地址生存期) 每个配置的 IPv6 单播地址都有一个生存期设置,该设置确定该地址在必须刷新或替换之前可以使用多长时间。某些地址设置为“永久”并且不会过期。“首选”和“有效”生存期用于指定其使用期限和可用性。 自动配置的…...
OpenVINO部署
OpenVINO部署 什么是 OpenVINO?OpenVINO 的优势安装指南系统要求:安装步骤 环境设置部署示例代码优化和部署步骤详细部署示例 什么是 OpenVINO? OpenVINO(Open Visual Inference and Neural Network Optimization)是由…...
面试题:MySQL优化,项目中举例
目录 一、SQL优化分两部分,如何发现慢SQL和如何优化慢SQL 二、项目举例 一、SQL优化分两部分,如何发现慢SQL和如何优化慢SQL 发现慢SQL有两种方案:第一种是开启我们的慢日志, 第二种就是使用skywalling发现慢的接口,进…...
Spring Boot中的事件驱动编程
Spring Boot中的事件驱动编程 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨在Spring Boot应用中如何利用事件驱动编程模式,实现…...
代码随想录算法训练营第五十天| 1143.最长公共子序列、1035.不相交的线、53. 最大子序和、392.判断子序列
LeetCode 1143.最长公共子序列 题目链接:https://leetcode.cn/problems/longest-common-subsequence/description/ 文章链接:https://programmercarl.com/1143.%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%AD%90%E5%BA%8F%E5%88%97.html 思路 * dp[i][j]…...
【Redis】数据持久化
https://www.bilibili.com/video/BV1cr4y1671t?p96 https://blog.csdn.net/weixin_54232666/article/details/128821360 单点redis问题: 数据丢失问题:实现Redis数据持久化并发能力问题:搭建主从集群,实现读写分离故障恢复问题&…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
C# winform教程(二)----checkbox
一、作用 提供一个用户选择或者不选的状态,这是一个可以多选的控件。 二、属性 其实功能大差不差,除了特殊的几个外,与button基本相同,所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...
