华为OD机试真题---观看文艺汇演问题
华为OD机试中的“观看文艺汇演问题”是一道考察算法与数据结构能力的题目。以下是对该题目的详细解析:
一、题目描述
为了庆祝某个重要节日(如中国共产党成立100周年),某公园将举行多场文艺表演。很多演出都是同时进行的,一个人只能同时观看一场演出,且不能迟到早退。由于演出分布在不同的演出场地,所以连续观看的演出之间最少有15分钟的时间间隔。小明是一个狂热的文艺迷,想观看尽可能多的演出。现在给出演出时间表,请计算小明最多能观看几场演出。
二、输入与输出
输入描述:
- 第一行为一个整数N,表示演出场数,1<=N<=1000。
- 接下来N行,每行两个空格分割的整数,第一个整数T表示演出的开始时间,第二个整数L表示演出的持续时间。T和L的单位为分钟,0<=T<=1440,0<L<=100。
输出描述:
- 输出一个整数,表示小明最多能观看的演出场数。
三、解题思路
-
数据预处理:
- 读取输入的演出数据,并将其存储在一个合适的数据结构中,如二维数组或列表的列表。
- 为了方便后续计算,可以将每个演出的结束时间也计算出来并存储,即结束时间=开始时间+持续时间+15(因为需要15分钟的时间间隔)。
-
排序:
- 根据演出的开始时间对演出进行排序。如果开始时间相同,则按照结束时间排序(这是为了在处理相同开始时间的演出时,优先选择结束时间早的演出,以便为后续的演出留出更多的时间间隔)。
-
动态规划:
- 使用一个数组dp来记录到当前演出为止,小明最多能观看的演出场数。
- 初始化dp[0]=1,表示小明至少可以观看第一场演出。
- 对于后续的每一场演出i,遍历之前的所有演出j(j<i),如果演出j的结束时间小于等于演出i的开始时间,说明小明可以观看演出i。此时,更新dp[i]=max(dp[i], dp[j]+1),表示小明在观看完演出j后,还可以观看演出i,从而更新最多能观看的演出场数。
-
结果输出:
- 遍历完所有演出后,dp数组中的最大值即为小明最多能观看的演出场数。
四、示例
输入:
4
10 30
20 40
40 20
60 50
输出:
2
解释:
- 第一场演出10-40,第二场演出20-60(与第一场有冲突,不能看),第三场演出40-60(与第一场冲突,但与第二场结束时间接近,也不能看),第四场演出60-110(可以看,因为与前一场有15分钟间隔)。所以最多看2场:第一场、第三场(选择另一个不与第一场冲突的短演出,这里为了简化说明选择了一个与第一场结束时间接近但实际不会观看的演出作为示例中的“第三场”,实际计算时应考虑所有可能的演出组合)、第四场。但注意,这里的“第三场”仅用于解释思路,实际计算时并不会真的选择这样一个与第一场结束时间接近的演出,而是会选择在所有可能观看的演出中,满足时间间隔要求且能使得观看场数最多的那场演出。正确的选择可能是跳过第二场和假设的“第三场”,直接观看第一场和第四场(或其他满足条件的组合),从而得到最多观看2场的结果。
(注意:上述示例中的“第三场”是为了解释思路而假设的,实际计算时应忽略此假设,直接根据算法找出满足条件的最多观看场数。)
示例1:
输入:
2
720 120
840 120
输出:
1
示例2:
输入:
2
0 60
90 60
输出:
2
五、代码实现
import java.util.Arrays;
import java.util.Scanner;public class WatchPerformances {/*** 计算最大表演场次* 该方法旨在找到在满足一定条件下的最大表演场次,条件是每两个连续表演之间需要有足够的间隔时间** @param performances 一个二维数组,其中每个元素表示一个表演,包含两个整数:开始时间和持续时间* @return 返回最大表演场次*/public static int maxPerformances(int[][] performances) {// 表演的数量int n = performances.length;// 创建一个二维数组,用于存储每个表演的详细信息,包括开始时间、结束时间(包括15分钟间隔)和持续时间int[][] performanceDetails = new int[n][3];for (int i = 0; i < n; i++) {// 保存表演的开始时间performanceDetails[i][0] = performances[i][0];// 计算并保存表演的结束时间,包括15分钟的间隔performanceDetails[i][1] = performances[i][0] + performances[i][1] + 15;// 保存表演的持续时间performanceDetails[i][2] = performances[i][1];}// 根据表演的开始时间进行排序,如果开始时间相同,则根据结束时间排序Arrays.sort(performanceDetails, (a, b) -> a[0] != b[0] ? a[0] - b[0] : a[1] - b[1]);// 初始化动态规划数组,每个表演默认至少可以独立进行一次int[] dp = new int[n];Arrays.fill(dp, 1);// 动态规划填表,计算每个表演能够达到的最大表演场次for (int i = 1; i < n; i++) {for (int j = 0; j < i; j++) {// 如果前一个表演的结束时间晚于或等于当前表演的开始时间,则更新当前表演的最大表演场次if (performanceDetails[j][1] <= performanceDetails[i][0]) {dp[i] = Math.max(dp[i], dp[j] + 1);}}}// 找到dp数组中的最大值,即为最大表演场次int maxPerformances = Arrays.stream(dp).max().orElse(0);return maxPerformances;}/*** 主函数入口* 本函数负责读取输入数据,并调用maxPerformances函数计算最大性能值*/public static void main(String[] args) {// 创建Scanner对象以读取输入Scanner scanner = new Scanner(System.in);// 读取输入的表演数量int n = scanner.nextInt();// 初始化存储表演数据的二维数组int[][] performances = new int[n][2];// 遍历读取每个表演的两个指标值for (int i = 0; i < n; i++) {performances[i][0] = scanner.nextInt();performances[i][1] = scanner.nextInt();}// 调用maxPerformances函数计算并获取最大性能值int result = maxPerformances(performances);// 输出最大性能值System.out.println(result);}
}
六、详细运行示例解析
输入数据
4
10 30
20 40
40 20
60 50
运行流程解析
-
读取输入
- 程序首先读取一个整数
4
,表示有4场演出。 - 接着,程序读取4行数据,每行包含两个整数,分别表示演出的开始时间和持续时间。
- 程序首先读取一个整数
-
数据预处理
- 程序将这些数据存储在二维数组
performances
中。 - 然后,程序创建另一个二维数组
performanceDetails
,用于存储每场演出的详细信息:开始时间、结束时间(包括15分钟间隔)和持续时间。 performanceDetails
数组被填充如下:[[10, 45, 30], // 第一场演出:开始时间10,结束时间45(10+30+15),持续时间30[20, 65, 40], // 第二场演出:开始时间20,结束时间65(20+40+15),持续时间40[40, 65, 20], // 第三场演出:开始时间40,结束时间65(40+20+15,但注意这里会与第二场冲突,实际计算时会考虑时间间隔),持续时间20[60, 125, 50] // 第四场演出:开始时间60,结束时间125(60+50+15),持续时间50 ]
- 程序将这些数据存储在二维数组
-
排序
- 程序根据演出的开始时间对
performanceDetails
数组进行排序。如果开始时间相同,则根据结束时间排序。 - 在这个例子中,排序后的数组顺序与输入顺序相同,因为开始时间已经是有序的,并且没有开始时间相同的演出。
- 程序根据演出的开始时间对
-
动态规划
- 程序初始化一个动态规划数组
dp
,长度为演出的数量,每个元素初始化为1,表示每场演出至少可以独自被观看一次。 - 程序使用两个嵌套的循环来计算
dp
数组的值。对于每场演出i
,它遍历之前的所有演出j
,如果演出j
的结束时间小于等于演出i
的开始时间,则更新dp[i]
为dp[j] + 1
。 - 在这个例子中,动态规划的过程如下:
- 初始化
dp
为[1, 1, 1, 1]
。 - 对于第一场演出(索引0),没有其他演出可以在它之前,所以
dp[0]
保持为1。 - 对于第二场演出(索引1),它不能与第一场演出同时观看(因为开始时间太接近,无法满足15分钟的间隔),所以
dp[1]
也保持为1。 - 对于第三场演出(索引2),它同样不能与前面的演出同时观看(因为它的开始时间与第二场演出的结束时间冲突),所以
dp[2]
也保持为1。 - 对于第四场演出(索引3),它可以与第一场演出同时观看(因为第一场演出的结束时间是45,第四场演出的开始时间是60,满足15分钟的间隔),所以更新
dp[3]
为dp[0] + 1 = 2
。但是,这里我们需要注意,实际上在遍历过程中,我们应该检查所有可能的组合,而不仅仅是最前面的演出。然而,在这个特定例子中,由于时间上的冲突,只有第一场和第四场演出能够满足条件被同时观看(在不考虑其他未列出的更短演出的情况下)。但正确的动态规划过程会考虑所有可能的组合,并更新dp
数组以反映最大可能的观看次数。然而,由于示例数据的限制(特别是没有提供能够插入第一场和第四场之间且满足条件的更短演出),动态规划的结果在这个特定情况下可能看起来有些直观上的误导。在实际应用中,更完整的演出列表可能会产生不同的结果。 - 实际上,由于第三场演出的开始时间与第二场演出的结束时间完全相同(在这个简化的例子中),并且我们要求连续观看的演出之间有15分钟的间隔,所以第三场演出不能与第二场同时观看,也不能在它之前紧接的任何其他演出之后立即观看(除非有另一个未列出的、在第二场和第三场之间结束的演出)。在这个简化的例子中,我们没有这样的演出,所以第三场演出实际上是无法被计入最大观看次数的(至少在这个特定的输入数据集中)。然而,这个结论是基于当前输入数据的限制;在更一般的情况下,动态规划算法会正确地处理所有可能的观看组合。
- 正确的动态规划过程应该像这样进行:对于每场演出,检查所有之前的演出,看看是否有可能在不违反15分钟间隔规则的情况下观看它们。在这个例子中,由于时间上的紧密安排和缺乏能够填补间隔的更短演出,只有第一场和第四场(或者可能还有其他未列出的、满足条件的组合)能够被计入最大观看次数。
- 重要的是要理解,这个简化的例子并没有展示动态规划算法的全部能力;在更复杂的场景中,算法会正确地处理所有可能的观看组合和约束条件。
- 初始化
- 注意:上述解释中关于第三场演出的部分是基于当前输入数据的特定限制和简化假设。在更一般的情况下(即有更完整的演出列表和可能的观看组合时),动态规划算法会正确地计算出最大观看次数。
- 程序初始化一个动态规划数组
-
输出结果
- 最后,程序找到
dp
数组中的最大值,即最大观看次数,并打印出来。 - 在这个例子中,由于输入数据的限制和上述解释中的原因,输出可能是
2
(表示最多可以观看两场演出:第一场和第四场)。然而,这个结论是基于当前输入数据的;在更一般的情况下,动态规划算法会根据完整的演出列表和约束条件计算出正确的最大观看次数。
- 最后,程序找到
七、注意事项
- 在实际应用中,可能会有更多的演出和更复杂的观看约束条件。动态规划算法能够处理这些情况,并计算出正确的最大观看次数。
- 上述解释中关于第三场演出的部分是基于当前输入数据的特定限制和简化假设。在更一般的情况下,动态规划算法会正确地处理所有可能的观看组合和约束条件。
- 输入数据的准确性和完整性对于正确计算最大观看次数至关重要。在实际应用中,应该确保输入数据是完整且准确的。
- 在处理时间间隔时,要确保连续观看的演出之间有至少15分钟的间隔。
- 在使用动态规划时,要注意更新dp数组的方式,确保每次都能得到最多能观看的演出场数。
通过以上步骤,可以高效地解决华为OD机试中的“观看文艺汇演问题”。
相关文章:
华为OD机试真题---观看文艺汇演问题
华为OD机试中的“观看文艺汇演问题”是一道考察算法与数据结构能力的题目。以下是对该题目的详细解析: 一、题目描述 为了庆祝某个重要节日(如中国共产党成立100周年),某公园将举行多场文艺表演。很多演出都是同时进行的&#x…...
类OCSP靶场-Kioptrix系列-Kioptrix Level 2
一、前情提要 二、实战打靶 1. 信息收集 1.1. 主机发现 1.2. 端口扫描 1.3.目录遍历 2.漏洞发现 2.1. 登录框测试 2.2. 发现命令执行 2.3 构造命令执行利用payload 3.提权 3.1. 搜索提权exp 3.2. 查看exp信息 3.3. Privilege Escalation的exp利用 exp_9542 一、前…...
openlane
openlane数据集,lane3d_1000里训练集157807张图片,测试集39981张图,md太多了...
修改vscode设置的原理
转载请标明出处:小帆的帆的专栏 修改vscode设置 首先需要理解的是,vscode的系统设置和插件设置都是通过settings.json文件管理的。 vscode中有三个Settings,三个Settings分别对应三个settings.json文件 Default Settings:默认…...
解决docker环境下aspose-words转换word成pdf后乱码问题
描述 环境:docker 部署工具:Jenkins 需求:本地上传的word文档需要转换成pdf 问题:转换之后的pdf文档出现小框框(乱码) 转换成PDF的操作 pom: <dependency><groupId>org.apach…...
2024年12月16日Github流行趋势
项目名称:PDFMathTranslate 项目维护者:Byaidu reycn hellofinch Wybxc YadominJinta项目介绍:基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker。项目star数…...
ElasticSearch 常见故障解析与修复秘籍
文章目录 一、ElasticSearch启动服务提示无法使用root用户二、ElasticSearch启动提示进程可拥有的虚拟内存少三、ElasticSearch提示用户拥有的可创建文件描述符太少四、ElasticSearch集群yellow状态分析五、ElasticSearch节点磁盘使用率过高,read_only状态问题解决六…...
用 Python Turtle 绘制经典汤姆猫:重温卡通角色的经典魅力
用 Python Turtle 绘制经典汤姆猫:重温卡通角色的经典魅力 🐸 前言 🐸🐞往期绘画>>点击进所有绘画🐞🐋 效果图 🐋🐉 代码 🐉 🐸 前言 🐸 汤…...
数据结构Day4: 链表函数封装 ; 思维导图
目录 作业:实现链表剩下的操作: 任意位置删除 按位置修改 按值查找返回地址 反转 销毁 运行结果 思维导图 作业:实现链表剩下的操作: 1>任意位置删除 2>按位置修改 3>按值查找返回地址 4>反转 5>销毁 任意…...
用 Python Turtle 绘制一只可爱的小狗:用代码捕捉狗狗的萌态
用 Python Turtle 绘制一只可爱的小狗:用代码捕捉狗狗的萌态 🐸 前言 🐸🐞往期绘画>>点击进所有绘画🐞🐋 效果图 🐋🐉 代码 🐉 🐸 前言 🐸 …...
人工智能浪潮来袭:2024年技术革命与产业变革深度解析@附64页PDF文件下载
随着2024年的到来,人工智能(AI)技术正以前所未有的速度、广度和深度改变着我们的生产和生活方式。在这篇深度解析中,我们将带您一探AI技术的最新发展、产业应用的现状以及未来的安全治理趋势。 技术革命:AI技术的新范…...
python 下载 b站视频 和音频
video_bvid: import os import requests import json import re from bs4 import BeautifulSoup import subprocess # from detail_video import video_bvid# video_bvid 是一个从外部得到的单个视频ID video_bvid BV1cx421Q7veclass BilibiliVideoAudio:def __in…...
【蓝桥杯选拔赛真题93】Scratch青蛙过河 第十五届蓝桥杯scratch图形化编程 少儿编程创意编程选拔赛真题解析
目录 Scratch青蛙过河 一、题目要求 编程实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、python资料 Scr…...
flink sink kafka的事务提交现象猜想
现象 查看flink源码时 sink kafka有事务提交机制,查看源码发现是使用两阶段提交策略,而事务提交是checkpoint完成后才执行,那么如果checkpoint设置间隔时间比较长时,事务未提交之前,后端应该消费不到数据,…...
Oracle 临时表空间管理与最佳实践
Oracle 临时表空间管理与最佳实践 内容摘要 本文深入探讨了Oracle数据库中临时表空间的管理和最佳实践。主要内容包括: 临时表空间的概述及其在Oracle 19c多租户架构中的特点临时表空间组的优势及其创建方法非临时表空间组的临时表空间日常维护操作命令临时表空间…...
Java转C之继承和多态
在C/C中,继承和多态是面向对象编程(OOP)的两个重要特性。以下将详细讲解C/C中如何实现继承与多态,同时结合Java的对比,帮助理解两者的异同。 继承的实现 C/C中的继承 继承允许一个类(派生类/子类…...
【密码学】ZUC祖冲之算法
一、ZUC算法简介 ZUC算法(祖冲之算法)是中国自主研发的一种流密码算法,2011年被3GPP批准成为4G国际标准,主要用于无线通信的加密和完整性保护。ZUC算法在逻辑上采用三层结构设计,包括线性反馈移位寄存器(L…...
MacOS系统 快速安装appium 步骤详解
在macOS系统上,你可以通过使用nvm(Node Version Manager)来管理Node.js的版本,并基于nvm安装的Node.js环境来快捷地安装Appium。以下是具体步骤: 一、安装nvm 下载nvm 访问nvm的GitHub仓库(nvm GitHub&…...
SEGGER | 基于STM32F405 + Keil - RTT组件07 - J-Scope数据可视化,RTT方式 + DWT定时器时间戳
导言 在上一章节SEGGER | 基于STM32F405 Keil - RTT组件06 - J-Scope数据可视化,使用RTT方式的第4.3章节提到,如果消息包不包含时间戳的话,那么J-Scope的横坐标的单位时间默认是100us,说白了时间戳是假的。会导致如下问题&#x…...
机器学习支持向量机(SVM)算法
一、引言 在当今数据驱动的时代,机器学习算法在各个领域发挥着至关重要的作用。支持向量机(Support Vector Machine,SVM)作为一种强大的监督学习算法,以其在分类和回归任务中的卓越性能而备受瞩目。SVM 具有良好的泛化…...
浏览器端的 js 包括哪几个部分
一、核心语言部分 1. 变量与数据类型 变量用于存储数据,在 JavaScript 中有多种数据类型,如基本数据类型(字符串、数字、布尔值、undefined、null)和引用数据类型(对象、数组、函数)。 let name "…...
【含开题报告+文档+PPT+源码】基于SpringBoot的开放实验管理平台设计与实现
开题报告 设计开放实验管理平台的目的在于促进科学研究与教学的融合。传统实验室常常局限于特定地点和时间,而开放平台可以为学生、教师和研究人员提供一个便捷的交流与共享环境。通过在线平台,他们可以分享实验资源、交流经验,从而促进科学…...
国内可以访问的github地址
国内的IP直接访问github.com官网一般会出现无法访问或者卡顿问题,可以尝试访问下面的国内的代理网站: GitHub Build and ship software on a single, collaborative platform GitHub...
Spring 框架事务管理深度剖析
1.Spring框架的事务管理有哪些优点 pring框架的事务管理具有以下优点: 声明式事务管理:Spring支持声明式事务管理,这使得开发者可以通过配置而不是编程方式来定义事务边界。这种方式简化了事务管理代码,并且可以减少出错的机会。…...
6.1 初探MapReduce
MapReduce是一种分布式计算框架,用于处理大规模数据集。其核心思想是“分而治之”,通过Map阶段将任务分解为多个简单任务并行处理,然后在Reduce阶段汇总结果。MapReduce编程模型包括Map和Reduce两个阶段,数据来源和结果存储通常在…...
SpringBoot - 动态端口切换黑魔法
文章目录 关键技术点核心原理Code 关键技术点 利用 Spring Boot 内嵌 Servlet 容器 和 动态端口切换 的方式实现平滑更新的方案,关键技术点如下: Servlet 容器重新绑定端口:Spring Boot 使用 ServletWebServerFactory 动态设置新端口。零停…...
【Excel】单元格分列
目录 分列(新手友好) 1. 选中需要分列的单元格后,选择 【数据】选项卡下的【分列】功能。 2. 按照分列向导提示选择适合的分列方式。 3. 分好就是这个样子 智能分列(进阶) 高级分列 Tips: 新手推荐基…...
Scratch教学作品 | 3D圆柱体俄罗斯方块——旋转视角的全新挑战! ✨
今天为大家推荐一款创意十足的Scratch益智游戏——《3D圆柱体俄罗斯方块》!由Ceratophrys制作,这款作品将经典俄罗斯方块与立体圆柱舞台相结合,为玩家带来了前所未有的空间挑战与乐趣。更棒的是,这款游戏的源码可以在小虎鲸Scratc…...
智慧商城:登录页静态布局,axios请求数据切换图形验证
登录页静态布局 在src目录下新建 styles,主要用于 存放公共样式。在该文件夹下新建common.less文件,并将其在main.js中引入 将图片拷贝到src文件夹下的 assets文件夹下 完成静态布局 点击左箭头能返回到首页 所有组件头部返回左箭头颜色都是一样的&#…...
HTML知识点详解教程
文章目录 HTML知识点详解教程1. HTML基本语法2. HTML标签详解2.1 分区标签 <div>2.2 标题标签 <h1> ~ <h6>2.3 段落标签 <p>2.4 图片标签 <img>2.5 列表标签 <ul> 和 <ol>无序列表 <ul>有序列表 <ol> 2.6 超链接标签 &l…...
知识分享第二十八天-数学篇一
组合.二项式定理.常见导数 组合 让我们通过一个具体的例子来理解组合(Combinations)的概念 假设你有一个装有5个不同颜色球的袋子:红、蓝、绿、黄和紫。你想从中随机抽取3个球, 不考虑顺序,那么你可以有多少种不同的…...
搭建Tomcat(四)---Servlet容器
目录 引入 Servlet容器 一、优化MyTomcat ①先将MyTomcat的main函数搬过来: ②将getClass()函数搬过来 ③创建容器 ④连接ServletConfigMapping和MyTomcat 连接: ⑤完整的ServletConfigMapping和MyTomcat方法: a.ServletConfigMappin…...
P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
题目描述 输入两个正整数 𝑥0,𝑦0,求出满足下列条件的 𝑃,𝑄 的个数: 𝑃,𝑄是正整数。 要求 𝑃,𝑄 以 𝑥0为最大公约数,以 …...
【泛微系统】自定义报表查看权限
自定义报表查询权限 前言:流程自定义报表,可查看每个报表都有哪些人有权限 --SQLserver写法 select a.id,a.workflowname,自定义报表权限 type,b.reportname,c.typename...
NPM国内镜像源多选择与镜像快速切换工具(nrm)介绍
多镜像源选择 淘宝镜像(推荐) 镜像地址:https://registry.npmmirror.com 特性:官方推荐,镜像更新速度快,稳定性高。 使用方式: npm config set registry https://registry.npmmirror.com恢复…...
详解负载均衡
什么是负载均衡? 想象一下,你有一家餐厅,当有很多客人同时到来时,如果只有一名服务员接待,可能会导致服务变慢。为了解决这个问题,你可以增加更多的服务员来分担工作,这样每位服务员就可以更快…...
AngularJS 与 SQL 的集成应用
AngularJS 与 SQL 的集成应用 引言 在当今的Web开发领域,AngularJS 和 SQL 是两种非常重要的技术。AngularJS,作为一个强大的前端框架,能够帮助开发者构建复杂且高性能的客户端应用。而SQL(Structured Query Language),作为一种广泛使用的数据库查询语言,是管理关系型…...
ANOMALY BERT 解读
出处: ICLR workshop 2023 代码:Jhryu30/AnomalyBERT 可视化效果: 一 提出动机 动机:无监督 TSAD 领域内,“训练集” 也缺失:真值标签(GT);换句话说,一个…...
51c视觉~YOLO~合集6~
我自己的原文哦~ https://blog.51cto.com/whaosoft/12830685 一、其他yolo 1.1 Spiking-YOLO 使用常规深度神经网络到脉冲神经网络转换方法应用于脉冲神经网络域时,性能下降的很多,深入分析后提出了可能的解释:一是来自逐层归一化的效率…...
软考高级架构 —— 10.6 大型网站系统架构演化实例 + 软件架构维护
10.6 大型网站系统架构演化实例 大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据,主要解决这类问题。 1. 单体架构 特点: 所有资源(应用程序、数据库、文件)集中在一台服务器上。适用场景: 小型网站&am…...
两数之和(Hash表)
优质博文:IT-BLOG-CN 一、题目 给定一个整数数组nums和一个整数目标值target,请你在该数组中找出"和"为目标值target的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元…...
【问题定位记录】哪些情况可能造成403
起因 403是我们平时在http请求中常见的一种错误码,如果有一天别人问你什么情况下可能造成403,我想大家都能想到的一种就是权限问题,比如鉴权失败会造成403。 但实际上不止这一种原因可能造成403,还有一种可能的原因今天就被我遇…...
SmartX分享:SMTX ZBS的纠删码EC与多副本介绍、对比与其他概念(分布式存储)
目录 背景多副本EC相关概念限制工作方式写入读取编辑故障移除硬盘、节点 EC存储配置EC推荐节点数EC的容错能力EC的数据块数k与m的互相限制 EC和多副本的对比其他涉及到全新存储分层的概念可以参考的原文链接: 背景 近期,SmartX的SMTX ZBS 分布式存储 推…...
C++并发与多线程(创建多个线程)
创建和等待多个线程 基础示例 // ConsoleApplication10.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <vector> #include <map> #include <string> #include <thread> #include <…...
【开发日志】ASP.NET Core Minimal APIs开发日志
后端 实现登录注册 注册API 在数据库中存储/注册账户密码 登录API 检测接收来的账户密码,如果正确,则生成JWT Token返回给客户端 未配置密钥 报错信息,这是我在提交注册请求时,后端报的错,看起来是在生成JWT Token时出现了…...
5G学习笔记之Non-Public Network R18
只是协议的搬运工 目录 0. NPN其它笔记 1. 概述 2. R18增强 2.1 等效SNPN间的移动性管理 2.2 non-3GPP接入SNPN 2.3 Localized Service 2.4 Charging 2.5 Management 0. NPN其它笔记 1. SNPN系列ID和广播消息 1. 概述 NPN,Non-Public Network, 非公共网络…...
sheng的学习笔记-AI-WaveNet模型
Ai目录:sheng的学习笔记-AI目录-CSDN博客 需要先看一下这些文章,作为基础 sheng的学习笔记-AI-残差网络-Residual Networks (ResNets)_神经网络的衰变是什么-CSDN博客 sheng的学习笔记-AI-卷积神经网络_单层卷积神经网络-CSDN博客 sheng的学习笔记-T…...
0002.基于springboot +layui二手物品交易平台
适合初学同学练手项目,部署简单,代码简洁清晰; 注:当前项目架构使用前后端未分离哦! 一、系统架构 前端:layui| html 后端:springboot | mybatis-plus 环境:jdk1.8 | mysql | maven 二、代…...
java集合基础
Java的java.util包主要提供了以下三种类型的集合: List:一种有序列表的集合,例如,按索引排列的Student的List;Set:一种保证没有重复元素的集合,例如,所有无重复名称的Student的Set&…...
如何在NGINX中实现基于IP的访问控制(IP黑白名单)?
大家好,我是锋哥。今天分享关于【如何在NGINX中实现基于IP的访问控制(IP黑白名单)?】面试题。希望对大家有帮助; 如何在NGINX中实现基于IP的访问控制(IP黑白名单)? 1000道 互联网大…...