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

每日一题——接雨水

接雨水问题详解

视频学习推荐

建议先参考以下视频进行学习:

问题描述

给定一个非负整数数组 height,表示每个宽度为 1 的柱子的高度图。计算按此排列的柱子,下雨之后能接多少雨水。

示例

示例 1:

输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
输出:6
解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。

示例 2:

输入:height = [4,2,0,3,2,5]
输出:9

提示

  • n == height.length
  • 1 <= n <= 2 * 10^4
  • 0 <= height[i] <= 10^5

解题思路

方法一:单调栈

单调栈是一种利用栈结构来解决此类问题的方法。其核心思想是通过维护一个单调递减的栈,来找到每个柱子左右两侧的“边界”,从而计算出能接的雨水量。

算法步骤
  1. 初始化一个栈 st,用于存储柱子的索引。
  2. 遍历数组 height,对于每个柱子:
    • 如果当前柱子高度大于栈顶柱子的高度(即发现更高的右边界),则:
      • 弹出栈顶元素(作为中间柱子)。
      • 如果栈不为空,则计算当前柱子与栈顶柱子之间的雨水量:
        • 高度差:h = min(height[st.top()], height[i]) - height[mid]
        • 宽度:w = i - st.top() - 1
        • 雨水量:sum += h * w
  3. 将当前柱子索引入栈。
  4. 遍历结束后,返回总雨水量。
C++代码实现
class Solution {
public:int trap(vector<int>& height) {if (height.size() <= 2) return 0; // 可以不加stack<int> st;int sum = 0;for (int i = 0; i < height.size(); i++) {while (!st.empty() && height[i] >= height[st.top()]) { // 发现有更高的右边界int mid = st.top(); // 单调栈第一个拿来当作盛水的低st.pop(); // 拿来用就给扔了,没用了if (!st.empty()) { // 看下单调栈是否为空,别是空的,保证左边能盛水int h = min(height[st.top()], height[i]) - height[mid]; // 这是找左边最大值int w = i - st.top() - 1; // 注意减一,只求中间宽度sum += h * w;}} // 注意while还在循环,因为右边多了一组墙,左边多了几组雨水st.push(i); // 把当前这个最大值扔进去,当作左边的墙}return sum;}
};
C语言代码实现
int trap(int* height, int heightSize) {int n = heightSize;if (n == 0) {return 0;}int ans = 0;int stk[n], top = 0;for (int i = 0; i < n; ++i) {while (top && height[i] > height[stk[top - 1]]) {int stk_top = stk[--top];if (!top) {break;}int left = stk[top - 1];int currWidth = i - left - 1;int currHeight = fmin(height[left], height[i]) - height[stk_top];ans += currWidth * currHeight;}stk[top++] = i;}return ans;
}

方法二:动态规划

动态规划的核心思想是通过维护两个数组 leftMaxrightMax,分别表示每个柱子左侧和右侧的最大高度。通过这两个数组,可以快速计算出每个柱子能接的雨水量。

算法步骤
  1. 初始化两个数组 leftMaxrightMax,分别表示每个柱子左侧和右侧的最大高度。
  2. 遍历数组 height,计算 leftMaxrightMax
    • leftMax[i] = max(leftMax[i-1], height[i])
    • rightMax[i] = max(rightMax[i+1], height[i])
  3. 遍历数组 height,计算每个柱子能接的雨水量:
    • result += min(leftMax[i], rightMax[i]) - height[i]
代码实现
class Solution {
public:int trap(vector<int>& height) {int n = height.size();if (n == 0) return 0;vector<int> leftMax(n, 0);vector<int> rightMax(n, 0);leftMax[0] = height[0];for (int i = 1; i < n; i++) {leftMax[i] = max(leftMax[i - 1], height[i]);}rightMax[n - 1] = height[n - 1];for (int i = n - 2; i >= 0; i--) {rightMax[i] = max(rightMax[i + 1], height[i]);}int result = 0;for (int i = 0; i < n; i++) {result += min(leftMax[i], rightMax[i]) - height[i];}return result;}
};

方法三:双指针优化

动态规划的方法需要额外的 O(n) 空间来存储 leftMaxrightMax。通过使用双指针,可以将空间复杂度优化到 O(1)

算法步骤
  1. 初始化两个指针 leftright,分别指向数组的两端。
  2. 初始化两个变量 leftMaxrightMax,分别表示左侧和右侧的最大高度。
  3. left < right 时:
    • 更新 leftMaxrightMax
      • leftMax = max(leftMax, height[left])
      • rightMax = max(rightMax, height[right])
    • 如果 height[left] < height[right],则:
      • result += leftMax - height[left]
      • left++
    • 否则:
      • result += rightMax - height[right]
      • right--
  4. 返回总雨水量。
代码实现
class Solution {
public:int trap(vector<int>& height) {int result = 0;int l = 0, r = height.size() - 1;int lMax = 0, rMax = 0;while (l < r) {lMax = max(lMax, height[l]);rMax = max(rMax, height[r]);if (height[l] < height[r]) {result += lMax - height[l];++l;} else {result += rMax - height[r];--r;}}return result;}
};
C语言代码实现
int trap(int* height, int heightSize) {int result = 0;                // 用于存储最终能接的雨水总量int l = 0, r = heightSize - 1; // 初始化左右指针,l指向数组起始位置,r指向数组末尾位置int lMax = 0, rMax = 0;        // 初始化左右最大高度变量,用于记录左右指针遍历过程中的最大柱子高度// 当左指针小于右指针时,继续循环,直到两个指针相遇while (l < r) {// 更新左指针左侧的最大高度lMax = lMax > height[l] ? lMax : height[l]; // 如果当前左指针指向的柱子高度大于lMax,则更新lMax// 更新右指针右侧的最大高度rMax = rMax > height[r] ? rMax : height[r]; // 如果当前右指针指向的柱子高度大于rMax,则更新rMax// 根据左右指针指向的柱子高度,决定移动哪个指针if (height[l] < height[r]) {// 如果左指针指向的柱子高度小于右指针指向的柱子高度// 说明左指针处的柱子可以确定其能接的雨水量(由左最大值lMax决定)result += lMax - height[l]; // 计算当前左指针处能接的雨水量,并累加到result中++l;                        // 左指针向右移动一位} else {// 如果左指针指向的柱子高度大于等于右指针指向的柱子高度// 说明右指针处的柱子可以确定其能接的雨水量(由右最大值rMax决定)result += rMax - height[r]; // 计算当前右指针处能接的雨水量,并累加到result中--r;                        // 右指针向左移动一位}}// 当左右指针相遇时,遍历结束,返回能接的雨水总量return result;
}

总结

  • 单调栈:时间复杂度 O(n),空间复杂度 O(n)。适合对空间复杂度要求不高的场景。
  • 动态规划:时间复杂度 O(n),空间复杂度 O(n)。思路清晰,适合初学者理解。
  • 双指针优化:时间复杂度 O(n),空间复杂度 O(1)。最优解,适合对空间复杂度要求较高的场景。
    接雨水这个经典题目,看似很难,但是实际上只是考察单调栈的使用。别的还是很容易的。

相关文章:

每日一题——接雨水

接雨水问题详解 视频学习推荐 建议先参考以下视频进行学习&#xff1a; 问题描述 给定一个非负整数数组 height&#xff0c;表示每个宽度为 1 的柱子的高度图。计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 示例 1&#xff1a; 输入&#xff1a;height …...

【Flink银行反欺诈系统设计方案】1.短时间内多次大额交易场景的flink与cep的实现

【flink应用系列】1.Flink银行反欺诈系统设计方案 1. 经典案例&#xff1a;短时间内多次大额交易1.1 场景描述1.2 风险判定逻辑 2. 使用Flink实现2.1 实现思路2.2 代码实现2.3 使用Flink流处理 3. 使用Flink CEP实现3.1 实现思路3.2 代码实现 4. 总结 1. 经典案例&#xff1a;短…...

【15】蚂蚁链产品与服务

15-1 蚂蚁链一体机 蚂蚁链一体机概述 蚂蚁链一体机是深度融合软硬件技术、针对区块链技术特色打造的软硬一体化服务器。面对区块链技术落地中的性能、安全和隐私等技术挑战&#xff0c;结合自主硬件技术&#xff0c;打造了高性能、强隐私和高安全的软硬件一体化服务器&#x…...

​DeepSeek:如何通过自然语言生成HTML文件与原型图?

在当今快节奏的开发与设计环境中&#xff0c;快速生成HTML文件或原型图是每个开发者与设计师的迫切需求。虽然DeepSeek无法直接生成图片&#xff0c;但它却能够通过自然语言生成流程图、原型图以及交互式页面&#xff0c;甚至可以直接输出HTML代码。本文将详细介绍如何与DeepSe…...

【JAVA架构师成长之路】【持久层】第2集:SQL常用优化手段

课程标题:SQL常用优化手段——15分钟快速提升数据库性能 目标:掌握10+核心SQL优化技巧,解决慢查询、高负载等生产问题 0-1分钟:优化核心原则——减少数据扫描量 本质逻辑:通过索引、分页、过滤条件等手段,最小化磁盘I/O和内存计算。 反例:SELECT * FROM orders(全表扫…...

文件上传和下载前后端交互逻辑

上传】 1、后端给前端一个上传接口&#xff1a;进行文件上传&#xff0c;上传成功后&#xff0c;该接口返回文件的路径&#xff0c;名称&#xff0c;id 2、表单提交接口&#xff0c;提交表单时&#xff0c;将文件的id和表单信息一块提交给后台&#xff0c;实现文件和表单的绑…...

全向广播扬声器在油气田中的关键应用 全方位守护安全

油气田作为高风险作业场所&#xff0c;安全生产始终是重中之重。在紧急情况下&#xff0c;如何快速、有效地传达信息&#xff0c;确保人员安全撤离&#xff0c;是油气田安全管理的关键环节。全向广播扬声器凭借其全方位覆盖、高音质输出和强大的环境适应性&#xff0c;成为油气…...

PHP之运算符

在你有别的编程语言的基础下&#xff0c;你想学习PHP&#xff0c;可能要了解的一些关于运算符的信息。 三元运算符&#xff0c;短径求值&#xff0c;为空判断 echo 1 ? "b" : "c";//第一个为真时返回第一个&#xff0c;为假时返回第二个 echo 1 ?: &qu…...

hive之lag函数

从博客上发现两个面试题&#xff0c;其中有个用到了lag函数。整理学习 LAG 函数是 Hive 中常用的窗口函数&#xff0c;用于访问同一分区内 前一行&#xff08;或前 N 行&#xff09;的数据。它在分析时间序列数据、计算相邻记录差异等场景中非常有用。 一、语法 LAG(column,…...

3427. 变长子数组求和

给你一个长度为 n 的整数数组 nums 。对于 每个 下标 i&#xff08;0 < i < n&#xff09;&#xff0c;定义对应的子数组 nums[start ... i]&#xff08;start max(0, i - nums[i])&#xff09;。 返回为数组中每个下标定义的子数组中所有元素的总和。 子数组 是数组中…...

RabbitMQ 2025/3/5

高性能异步通信组件。 同步调用 以支付为例&#xff1a; 可见容易发生雪崩。 异步调用 以支付为例&#xff1a; 支付服务当甩手掌柜了&#xff0c;不管后面的几个服务的结果。只管库库发&#xff0c;后面那几个服务想取的时候就取&#xff0c;因为消息代理里可以一直装&#x…...

C#+Halcon 检测稳定性提升的方式

前言 众所周知&#xff0c;C#是一个带垃圾回收机制的语言&#xff0c;开发过程中不需要考虑垃圾回收&#xff0c;你就可劲造吧。但我们在设计图像处理软件时&#xff0c;应时刻对图像等大内存资源进行管控&#xff0c;做到自行管控&#xff0c;及时释放&#xff0c;不应将其交…...

第一个Hadoop程序

编写和运行第一个 Hadoop 程序是学习 Hadoop 的重要步骤。以下是一个经典的“WordCount”程序示例&#xff0c;它统计文本文件中每个单词出现的次数。我们将使用 Java 编写 MapReduce 程序&#xff0c;并在 Hadoop 集群上运行它。 一、WordCount 程序概述 WordCount 是 Hadoo…...

Leetcode 378-有序矩阵中第 K 小的元素

给你一个 n x n 矩阵 matrix &#xff0c;其中每行和每列元素均按升序排序&#xff0c;找到矩阵中第 k 小的元素。 请注意&#xff0c;它是 排序后 的第 k 小元素&#xff0c;而不是第 k 个 不同 的元素。 你必须找到一个内存复杂度优于 O(n2) 的解决方案。 示例 1&#xff1…...

python之爬虫入门实例

链家二手房数据抓取与Excel存储 目录 开发环境准备爬虫流程分析核心代码实现关键命令详解进阶优化方案注意事项与扩展 一、开发环境准备 1.1 必要组件安装 # 安装核心库 pip install requests beautifulsoup4 openpyxl pandas# 各库作用说明&#xff1a; - requests&#x…...

第一个 C++ 程序

文章目录 “Hello, World!” 程序代码示例程序基本结构详细解释头文件&#xff08;#include <iostream>&#xff09;命名空间&#xff08;std&#xff09;主函数&#xff08;int main()&#xff09;输出语句&#xff08;std::cout << "Hello, World!" &l…...

深度学习篇---不同框架下的图像通道

文章目录 前言一、核心概念NCHWNHWCCHW 二、主流框架的通道顺序1.PyTorch默认格式特点调整方法 2.TensorFlow默认格式特点调整方法 3.Keras默认格式特点 4.PaddlePaddle默认格式特点调整方法 5.MXNet默认格式调整方法 6.ONNX默认格式特点 三、通道顺序的影响性能差异NCHWNHWC 框…...

在 C++ 中,通常会使用 `#define` 来定义宏,并通过这种方式发出警告或提示。

在 C++ 中,通常会使用 #define 来定义宏,并通过这种方式发出警告或提示。 如何实现 GBB_DEPRECATED_MSG 宏: 你可以通过以下方式定义一个宏,显示弃用警告: #include <iostream>// 定义一个宏,用来打印弃用警告 #define GBB_DEPRECATED_MSG(msg...

10x Research:Secured Finance 基于 FIL 的美元稳定币如何推动 Filecoin 生态系统发展

“众多与 Filecoin 数据进行互动的参与者&#xff0c;将从全新灵活性与金融化的体系中受益。” 在 10X Research 的最新研究内容中&#xff0c;揭示了在 Filecoin 生态系统内推出以美元计价的稳定币为用户带来的巨大增益。 Filecoin 是 Web3 中增长最快的平台之一&#xff0c…...

解决Spring Boot中LocalDateTime返回前端数据为数组结构的问题

在Spring Boot开发中&#xff0c;处理日期时间数据是一个常见的需求。Java 8 引入了新的日期时间API&#xff0c;如LocalDateTime&#xff0c;它提供了更强大的日期时间处理功能。然而&#xff0c;在将LocalDateTime对象序列化为JSON时&#xff0c;可能会遇到返回为数组结构的问…...

【Linux】进程间通信 续

目录 管道的原理&#xff08;匿名管道&#xff09; 核心原理 站在内核的角度看管道的本质 接口 创建管道文件 代码示例 管道的特征 管道读写端的四种情况 管道的应用场景 命令行的管道。 使用管道实现进程池 初始化 控制子进程 退出 命名管道 命名管道的理解 …...

心率提取,FFT

rPPG 信号提取&#xff1a; 从面部视频中提取 rPPG 信号&#xff0c;通常是通过对视频帧中的面部区域进行颜色通道分析&#xff0c;提取出反映血液容积变化的信号。 信号预处理&#xff1a; 对提取的 rPPG 信号进行滤波、归一化等预处理操作&#xff0c;以去除噪声和干扰。 心率…...

Data truncation: Out of range value for column ‘allow_invite‘ at row 1

由于前端传递的数值超过了mysql数据库中tinyint类型的取值范围&#xff0c;所以就会报错。 Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Out of range value for column allow_invite at row 1at com.mysql.cj.jdbc.exceptions.SQLExcept…...

ZYNQ-PL学习实践(二)按键和定时器控制LED闪烁灯

ZYNQ-PL学习实践&#xff08;二&#xff09;按键和定时器控制LED闪烁灯&#xff09; 1 创建工程2 verilog 代码3 约束4 综合5 生成bit总结 1 创建工程 2 verilog 代码 添加key_led.v 文件&#xff0c; module key_led(input sys_clk , //系统时钟50MHzinput …...

【CXX】4.4 其他构建系统

你需要至少完成以下三件事&#xff1a; 生成CXX生成的C绑定代码。 编译生成的C代码。 将生成的目标文件与你的其他C和Rust目标文件链接在一起。 并非所有构建系统都是平等的。如果你希望使用90年代的构建系统&#xff0c;尤其是如果你希望覆盖2个或更多构建系统&#xff08…...

windows 上删除 node_modules

在 Windows 11 上&#xff0c;你可以通过命令行来删除 node_modules 文件夹并清除 npm 缓存。以下是具体步骤&#xff1a; 删除 node_modules 打开命令提示符&#xff08;Command Prompt&#xff09;或终端&#xff08;PowerShell&#xff09;。 导航到项目目录。你可以使用 …...

mysql之如何获知版本

你可以通过在 MySQL 命令行客户端执行简单的 SQL 查询来获取 MySQL 的版本信息。以下是获取 MySQL 版本的常见方法&#xff1a; 使用 SELECT VERSION(); 查询&#xff1a; SELECT VERSION();执行这个查询后&#xff0c;MySQL 会返回一个字符串&#xff0c;其中包含了 MySQL 服…...

PHP 将图片url,写入到文件夹中,导出到zip下载到桌面

一&#xff1a;将图片写入到文件内 文件url&#xff1a;比如 【https://image.baidu.com/search/detail?ct503316480&z0&ipnfalse&word%E5%9B%BE%E7%89%87%E5%A4%B4%E5%83%8F&hs0&pn1&spn0&di7466852183703552001&pi0&rn1&tnbaiduima…...

系统架构设计师—计算机基础篇—文件管理

文章目录 文件结构逻辑结构物理结构文件的索引直接索引间接索引做题的方法 文件存储空间管理位示图 文件结构 文件的结构是指文件的组织形式。 逻辑结构 从用户角度看到的文件的组织形式。 用户知道文件名就可以存取文件中的信息。 物理结构 文件在文件存储器上的存放方式…...

【MySQL】用MySQL二进制包构建docker镜像

一、实验背景 【MySQL&docker】基于CentOS7.5 编译制作MySQL5.7.28镜像 https://www.jianshu.com/p/71fd79b69a6b 用MySQL源码编译的docker镜像&#xff0c;体积过大&#xff0c;直奔3G了&#xff0c;你也不清楚&#xff0c;这点编译参数打出的体积怎么就这么大&#xff01…...

C++ std::vector 超详细指南:基础实践(手搓vector)

目录 一.基本概念 二.类的常用接口说明 1.类对象的常见构造 2. vector类空间变化 1&#xff09;.size()&#xff08;获取数据个数&#xff09; 2&#xff09;.capacity()&#xff08;获取容量大小&#xff09; 3&#xff09;.empty()&#xff08;判断是否为空&#xff0…...

java面试复习巩固

韩顺平Java__哔哩哔哩_bilibili 1、Java中源文件中可以有多个类&#xff0c;最多只能有一个public类&#xff1f; 程序分为编译和执行两个阶段。 编译阶段 如果存在public类&#xff0c;那么一个源文件中只能够存在一个而且要与源文件的名字相同。----------否则编译会报错…...

《STL源码剖析》笔记记录

《STL源码剖析》笔记记录 2.空间适配器(allocator) 分配的是空间&#xff0c;而不一定是内存 为了精密分⼯&#xff0c;STL allocator 决定将这两个阶段操作区分开来。 1、对象构造由 ::construct() 负责&#xff1b;对象释放由 ::destroy() 负责。 2、内存配置由 alloc::al…...

《Linux C 智能 IO 矩阵:输入输出的自适应数据流转》

1. 标准库IO简介 标准库IO特点&#xff1a;通过操作系统提供的接口&#xff08;API&#xff09;和操作系统进行交互。&#xff08;接近100个函数&#xff09; 1.1. IO的过程 操作系统&#xff1a;向上为用户提供操作接口&#xff0c;向下为统筹控制硬件。 操作系统的组成&#…...

idea生成自定义Maven原型(archetype)项目工程模板

一、什么是Maven原型&#xff08;Maven archetype&#xff09; 引自官网的介绍如下&#xff1a; Maven原型插件官网地址 这里采用DeepSeek助手翻译如下&#xff1a; Maven 原型 什么是原型&#xff1f; 简而言之&#xff0c;原型是一个 Maven 项目模板工具包。原型被定义为一…...

CES Asia 2025增设未来办公教育板块,科技变革再掀高潮

作为亚洲消费电子领域一年一度的行业盛会&#xff0c;CES Asia 2025&#xff08;第七届亚洲消费电子技术贸易展&#xff09;即将盛大启幕。今年展会规模再度升级&#xff0c;预计将吸引超过500家全球展商参展&#xff0c;专业观众人数有望突破10万。除了聚焦人工智能、物联网、…...

(二 十 二)趣学设计模式 之 备忘录模式!

目录 一、 啥是备忘录模式&#xff1f;二、 为什么要用备忘录模式&#xff1f;三、 备忘录模式的实现方式四、 备忘录模式的优缺点五、 备忘录模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;…...

物联网同RFID功能形态 使用场景的替代品

在物联网&#xff08;IoT&#xff09;和自动识别技术领域&#xff0c;除了RFID标签外&#xff0c;还有一些其他技术产品可以在形态和大小上与RFID标签相似&#xff0c;同时提供类似或更强大的功能。以下是几种能够替代RFID标签的产品&#xff1a; 一、NFC标签 NFC&#xff08;…...

蓝陵科技:以“数字底座”之力,全面布局影视行业工业化

“在数字技术与文化产业深度融合的今天&#xff0c;海南蓝陵数字科技有限公司&#xff08;以下简称蓝陵科技&#xff09;凭借其卓越的渲染实力和前瞻性的战略布局&#xff0c;正逐步成为推动中国影视行业工业化进程的重要力量。2025年2月&#xff0c;蓝陵科技不仅获得了陵水融媒…...

React + TypeScript 实战指南:用类型守护你的组件

TypeScript 为 React 开发带来了强大的类型安全保障&#xff0c;这里解析常见的一些TS写法&#xff1a; 一、组件基础类型 1. 函数组件定义 // 显式声明 Props 类型并标注返回值 interface WelcomeProps {name: string;age?: number; // 可选属性 }const Welcome: React.FC…...

本地部署大数据集群前置准备

1. 设置VMware网段 虚拟网络编辑器——更改设置——选择VMnet8——子网改成192.168.88.0——NAT设置——网关设置为192.168.88.2 2. 下载CentOS操作系统 下载CentOS 7.6(1810)版本 3. 在VMware中安装CentOS操作系统 创建新的虚拟机——典型——安装光盘映像文件——输入账…...

016.3月夏令营:数理类

016.3月夏令营&#xff1a;数理类&#xff1a; 中国人民大学统计学院&#xff1a; http://www.eeban.com/forum.php?modviewthread&tid386109 北京大学化学学院第一轮&#xff1a; http://www.eeban.com/forum.php?m ... 6026&extrapage%3D1 香港大学化学系夏令营&a…...

历年北京理工大学计算机复试上机真题

历年北京理工大学计算机复试上机真题 在线评测&#xff1a;https://app2098.acapp.acwing.com.cn/ 分段函数 题目描述 编写程序&#xff0c;计算下列分段函数 yf(x) 的值。 当 0< x <2&#xff0c;y -x2.5&#xff1b;当 2< x <4&#xff0c;y2-1.5(x-3)(x-3)…...

Linux的缓存I/O和无缓存IO

一、I/O缓存的背景 I/O缓存是指在内存里开辟一块区域&#xff0c;存放用来接收用户输入和用于计算机输出的数据&#xff0c;以减小系统开销和提高外设效率。linux对IO文件的操作分为不带缓存的IO操作和带缓存的IO操作&#xff08;标准IO操作&#xff09;。为什么存在C标准I/O库…...

题目 3216 ⭐团建⭐【DFS】蓝桥杯2024年第十五届省赛

小蓝正在和朋友们团建&#xff0c;有一个游戏项目需要两人合作&#xff0c;两个人分别拿到一棵大小为 n 和 m 的树&#xff0c;树上的每个结点上有一个正整数权值 c 1 , c 2 , ⋅ ⋅ ⋅ , c n c_1, c_2, , c_n c1​,c2​,⋅⋅⋅,cn​, d 1 , d 2 , ⋅ ⋅ ⋅ , d m d_1, d_…...

从0到1入门Linux

一、常用命令 ls 列出目录内容 cd切换目录mkdir创建新目录rm删除文件或目录cp复制文件或目录mv移动或重命名文件和目录cat查看文件内容grep在文件中查找指定字符串ps查看当前进程状态top查看内存kill终止进程df -h查看磁盘空间存储情况iotop -o直接查看比较高的磁盘读写程序up…...

战略合作升级 | 大势智慧携手广西地测院,共绘智慧测绘新蓝图

2月26日&#xff0c;武汉大势智慧科技有限公司&#xff08;以下简称“大势智慧”&#xff09;与广西壮族自治区地理信息测绘院&#xff08;以下简称“广西地测院”&#xff09;在南宁举行战略合作升级签约仪式暨技术交流座谈会。 大势智慧董事长黄先锋与广西地测院党委书记、院…...

批量插入对比-mysql-oracle-sqlserver

单个插入mysql //单个 根据有值就插入&#xff0c;无值不改动 <insert id"insertOne" keyColumn"id" keyProperty"id"parameterType"com.test.log" useGeneratedKeys"true">insert into test_mysql_tab<trim p…...

jmeter阶梯式压测

1、安装plugins manager 链接 Install :: JMeter-Plugins.org 将下载下来的jar包放置在jemter文件的lib\ext下&#xff0c; 重启Jmeter 2、安装阶梯测试第三方插件 在Available Plugins中找到Custom Thread Groups&#xff0c;点击Apply Changes and Restart JMeter后等待插件…...

nginx.conf 完整配置总结概述

----------------------------------------------------------- /usr/local/nginx/sbin/nginx -s reload # 重新载入配置文件 /usr/local/nginx/sbin/nginx -s reopen # 重启 Nginx /usr/local/nginx/sbin/nginx -s stop # 停止 Nginx /usr/local/nginx/sbin/nginx …...