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

定长滑动窗口---初阶篇

目录

滑动窗口核心思想

定长滑动窗口套路

定长滑动窗口习题剖析

1456. 定长子串中元音的最大数目

643. 子数组最大平均数 I

1343. 大小为 K 且平均值大于等于阈值的子数组数目

2090. 半径为 k 的子数组平均值

2379. 得到 K 个黑块的最少涂色次数

2841. 几乎唯一子数组的最大和

2461. 长度为 K 子数组中的最大和

1423. 可获得的最大点数

1052. 爱生气的书店老板

1652. 拆炸弹

总结


此篇博客将对定长滑动窗口这一算法进行深度剖析,会结合灵神的算法题单对每个题目进行解析。本篇博客中的所有题目均来自于灵茶山艾府 - 力扣(LeetCode)分享的题单。

滑动窗口核心思想

根据名称可以看出滑动窗口有两个性质:1)窗口,说明其是密闭的,必定有左右两个边界;2)滑动,说明其左右边界是在动态变化的。

定长滑动窗口常用于解决求连续的个数问题。

下面通过一个例题对滑动窗口问题进行更深一步的分析。

1456. 定长子串中元音的最大数目

题目:给定一个字符串,求连续元音字母的最大个数。

思路一:通过暴力枚举,以一个位置为起点,向后看k个字符中有多少个元音字符,其时间复杂度是O(N^2),在这题中是会出现超时的。

思路二:对思路一进行优化。可以看出在进行k个字符的查找时,如果按照思路一进行会出现很多多余的步骤,比如:abc查找后,对bci重新进行查找,此时bc就出现了重复累加的操作;这一步骤就可以简化为将头部字符删去,在尾部新增字符

定长滑动窗口套路

定长滑动窗口分为三步:进窗口---更新答案---出窗口。

进窗口和出窗口均是为了让窗口满足提议要求,在进出窗口之间对答案进行更新,调整。

定长滑动窗口习题剖析

1456. 定长子串中元音的最大数目

 

题解:通过left和right两个指针来时刻维持窗口大小在k范围以内,用tmp来记录当前窗口元音字符的个数。 

class Solution {
public:int maxVowels(string s, int k) {//通过left和right来控制窗口的左右边界int n=s.size();int left=0,right=0;unordered_set<char> vowel={'a','e','i','o','u'};   //保存元音字符int ret=0,tmp=0;  //ret用来记录最大数目,即返回值,tmp用于记录每k个字符中元音个数while(right<n){while(right-left<k){//将窗口填满if(vowel.count(s[right++])) tmp++;}//此时窗口已经填满,对结果进行更新ret=max(ret,tmp);//让窗口向右走if(vowel.count(s[left++])) tmp--;}return ret;}
};

643. 子数组最大平均数 I

题解: 定长滑动窗口类题型的套路都比较类似,使用左右指针维护窗口,用一个变量来记录窗口内的结果。 

class Solution {
public:double findMaxAverage(vector<int>& nums, int k) {int n=nums.size();int left=0,right=0;  //通过左右指针来维护窗口double ret=INT_MIN ;  //此处不能再将ret置为0了,因为nums中数据可能为负数,再对ret取小的时候会出现错误int tmp=0;  while(right<n){//将数据进窗口while(right-left<k)tmp+=nums[right++];  //用tmp来记录窗口类数据之和ret=max(ret,tmp/(double)k);   //更新答案//让窗口向后移动tmp-=nums[left++];}return ret;}
};

1343. 大小为 K 且平均值大于等于阈值的子数组数目

题解:与前两题异曲同工之妙。

class Solution {
public:int numOfSubarrays(vector<int>& arr, int k, int threshold) {int n=arr.size();int left=0,right=0;int count=0,tmp=0;  //count用来计数,tmp记录每个区间的总和while(right<n){//入窗口while(right-left<k)tmp+=arr[right++];//对答案进行更新if(tmp/k>=threshold) count++;//出窗口tmp-=arr[left++];}return count;}
};

2090. 半径为 k 的子数组平均值

题解:以i为下标,半径是k的平均值,相当于一个2*k长度的动态窗口的平均值。

class Solution {
public:vector<int> getAverages(vector<int>& nums, int k) {int n=nums.size();vector<int> ret(n,-1);   //ret作为返回值,将ret数组均初始化为-1来解决左右两边元素不足的问题if(k==0) return nums;   //对特殊情况处理if(n<=2*k) return ret;   //当k值较大的时候,就不需要进入循环了int left=0,right=0;long long tmp=0;      //注意:此处需要使用long long,因为测试用例比较恶心使用int会已出while(right<n){//入窗口while(right<n&&right-left+1<=2*k+1)tmp+=nums[right++];//对答案进行更新int mid=(right-1+left)/2;ret[mid]=tmp/(2*k+1);//出窗口tmp-=nums[left++];}return ret;}
};

2379. 得到 K 个黑块的最少涂色次数

题解:通过滑动窗口,每次记录窗口内达到要求需要涂色的个数。

class Solution {
public:int minimumRecolors(string blocks, int k) {int n=blocks.size();int left=0,right=0;int ret=INT_MAX,tmp=0;  //此处不能将ret取作0,因为在对ret取小的时候0会一直是最小的while(right<n){//入窗口while(right-left<k)if(blocks[right++]=='W') tmp++;//更新结果ret=min(ret,tmp);//出窗口if(blocks[left++]=='W') tmp--;}return ret;}
};

2841. 几乎唯一子数组的最大和

题解:此题要记录一个元素是否唯一,所以可以采用哈希表来记录数据时候出现过。

class Solution {
public:long long maxSum(vector<int>& nums, int m, int k) {int n=nums.size();int left=0,right=0;unordered_map<int,int> record;   //记录数据出现了几次int count=0;  //count记录不相同元素个数long long tmp=0,ret=0;     //此题tmp和ret需要使用long long防止越界 while(right<n){//入窗口while(right-left<k){tmp+=nums[right];if(record[nums[right]]==0) count++;  //还没有该元素record[nums[right]]++;right++;}//调整结果前还需要判断区间是否可取,即是否几乎唯一if(count>=m) ret=max(ret,tmp);//出窗口if(record[nums[left]]==1) count--;record[nums[left]]--;tmp-=nums[left++];}return ret;}
};

2461. 长度为 K 子数组中的最大和

题解:此题类似于上一题的变形,此题对答案更新是有条件的,需要保证每个元素各不相同。

class Solution {
public:long long maximumSubarraySum(vector<int>& nums, int k) {int n=nums.size();int left=0,right=0;unordered_map<int,int> record;   //记录元素出现的此处int count=0;   //记录重复元素个数long long ret=0,tmp=0;while(right<n){//入窗口while(right-left<k){if(record[nums[right]]==1) count++;record[nums[right]]++;tmp+=nums[right++];}//调整结果if(count==0) ret=max(ret,tmp); //出窗口if(record[nums[left]]==2) count--;record[nums[left]]--;tmp-=nums[left++];}return ret;}
};

1423. 可获得的最大点数

题解:求左右两边和的最大值------>求中间部分和的最小值。

class Solution {
public:int maxScore(vector<int>& cardPoints, int k) {//此题可以转化为滑动窗口问题,求左右两边的最大值,就转化为了求中间部分的最小值int n=cardPoints.size();int num=n-k;   //计算出要求中间元素和的个数int left=0,right=0;int ret=INT_MAX,tmp=0;int sum=0;   //求数组总和for(auto e:cardPoints) sum+=e; while(right<n){//入窗口while(right-left<num)tmp+=cardPoints[right++];//调整答案ret=min(ret,tmp);//出窗口tmp-=cardPoints[left++];}return sum-ret;}
};

1052. 爱生气的书店老板

题解:要将则几分钟的利用最大化,即让这一区间内的客人总和最多即可。

class Solution {
public:int maxSatisfied(vector<int>& customers, vector<int>& grumpy, int minutes) {int n=customers.size();int sum=0;  //先求出,不生气情况下的客人总量for(int i=0;i<n;i++)if(grumpy[i]==0) sum+=customers[i];//将抑制生气的利益最大化,求出minutes区间中生气是客户最大值int ret=0,tmp=0;int left=0,right=0;while(right<n){//入窗口while(right-left<minutes){if(grumpy[right]) tmp+=customers[right];right++;}//更新答案ret=max(ret,tmp);//出窗口if(grumpy[left])tmp-=customers[left];left++;}return ret+sum;   }
};

1652. 拆炸弹

题解:对于k==0的情况直接返回空数组即可,对于k>0的情况,从0位置向后进行滑动窗口;对于k<0的情况,从n-1位置向前进行滑动窗口。

class Solution {
public:vector<int> decrypt(vector<int>& code, int k) {int n=code.size();vector<int> ret(n);if(k==0) return ret;else if(k>0){//对于k>0的情况,从0位置开始向后使用滑动窗口int left=1,right=1,i=0;int tmp=0;while(i<n){//入窗口while((right+n-left)%n<k){tmp+=code[right++];right%=n;}//调整答案ret[i++]=tmp;//出窗口tmp-=code[left++];left%=n;}}else  //k<0{//从n-1位置向前使用滑动窗口int left=n-2,right=n-2,i=n-1;int tmp=0;while(i>=0){//入窗口while((right+n-left)%n<-k){tmp+=code[left--];left=(left+n)%n;}//调整答案ret[i--]=tmp;//出窗口tmp-=code[right--];right=(right+n)%n;}}return ret;}
};

总结

关于定长滑动窗口的初阶篇就到此为止了。滑动窗口问题的问话还是很明显的,当题目出现区间问题是就应该先思考滑动窗口的解法;滑动窗口的套路也是很固定的,就只有三步:入窗口---更新答案---调整窗口。

相关文章:

定长滑动窗口---初阶篇

目录 滑动窗口核心思想 定长滑动窗口套路 定长滑动窗口习题剖析 1456. 定长子串中元音的最大数目 643. 子数组最大平均数 I 1343. 大小为 K 且平均值大于等于阈值的子数组数目 2090. 半径为 k 的子数组平均值 2379. 得到 K 个黑块的最少涂色次数 2841. 几乎唯一子数组…...

以pytest_addoption 为例,讲解pytest框架中钩子函数的应用

钩子函数&#xff08;Hook Function&#xff09;的概念 钩子函数&#xff08;Hook Function&#xff09;是软件框架中预定义的回调接口&#xff0c;允许开发者在程序执行的特定阶段插入自定义逻辑&#xff0c;以扩展或修改框架的默认行为。在 pytest 中&#xff0c;钩子函数覆…...

数据智能重塑工业控制:神经网络在 MPC 中的四大落地范式与避坑指南

一、引言&#xff1a;工业控制的范式革命 在工业 4.0 的浪潮中&#xff0c;传统基于物理模型的控制方法&#xff08;如 PID、线性二次型调节器 LQR&#xff09;正面临前所未有的挑战。以石化行业为例&#xff0c;某炼油厂的催化裂化装置&#xff08;FCCU&#xff09;因反应机理…...

AB测试面试题

AB测试面试题 常考AB测试问答题(1)AB测试的优缺点是什么?(2)AB测试的一般流程/介绍一下日常工作中你是如何做A/B实验的?(3)第一类错误 vs 第二类错误 vs 你怎么理解AB测试中的第一、二类错误?(4)统计显著=实际显著?(5)AB测试效果统计上不显著?(6)实验组优于对…...

phpstudy升级新版apache

1.首先下载要升级到的apache版本&#xff0c;这里apache版本为Apache 2.4.63-250207 Win64下载地址&#xff1a;Apache VS17 binaries and modules download 2.将phpstudy中原始apache复制备份Apache2.4.39_origin 3.将1中下载apache解压&#xff0c; 将Apache24复制一份到ph…...

民宿管理系统6

普通管理员管理&#xff1a; 新增普通管理员&#xff1a; 前端效果&#xff1a; 前端代码&#xff1a; <body> <div class"layui-fluid"><div class"layui-row"><div class"layui-form"><div class"layui-f…...

【iOS】源码阅读(三)——内存对齐原理

文章目录 前言获取内存大小的三种常用方式sizeofclass_getInstanceSizemalloc_size 总结 前言 之前学习alloc相关源码&#xff0c;涉及到内存对齐的相关内容&#xff0c;今天笔者详细学习了一下相关内容并写了此篇博客。 获取内存大小的三种常用方式 获取内存大小的方式有很多…...

在 Ubuntu 中配置 Samba 实现「特定用户可写,其他用户只读」的共享目录

需求目标 所有认证用户可访问 Samba 共享目录 /path/to/home&#xff1b;**仅特定用户&#xff08;如 developer&#xff09;**拥有写权限&#xff1b;其他用户仅允许读取&#xff1b;禁止匿名访问。 配置步骤 1. 设置文件系统权限 将目录 /home3/guest 的所有权设为 develo…...

配置指定地址的conda虚拟Python环境

创建指定路径的 Conda 环境 在创建环境时&#xff0c;使用 --prefix 参数指定自定义路径&#xff1a; conda create --prefix/your/custom/path/my_env python3.8 说明&#xff1a; /your/custom/path/my_env&#xff1a;替换为你希望存放环境的路径&#xff08;如 D:\projec…...

从彼得·蒂尔四象限看 Crypto「情绪变迁」:从密码朋克转向「标准化追求者」

作者&#xff1a;Techub 精选编译 撰文&#xff1a;Matti&#xff0c;Zee Prime Capital 编译&#xff1a;Yangz&#xff0c;Techub News 我又带着一篇受彼得蒂尔&#xff08;Peter Thiel&#xff09;启发的思想杂烩回来了。作为自封的「蒂尔学派」信徒&#xff0c;我常透过他…...

VS Code 常用插件

React Auto Import - ES6, TS, JSX, TSX Auto Rename Tag ES7 React/Redux/React-Native snippets Markdown Markdown All in One Markdown Preview Enhanced Other Prettier - Code formatter 格式化代码 Live Server 本地服务器实时预览与自动刷新...

深入探讨 UDP 协议与多线程 HTTP 服务器

深入探讨 UDP 协议与多线程 HTTP 服务器 一、UDP 协议&#xff1a;高效但“不羁”的传输使者 UDP 协议以其独特的特性在网络传输中占据一席之地&#xff0c;适用于对实时性要求高、能容忍少量数据丢失的场景。 1. UDP 的特点解析 无连接&#xff1a;无需提前建立连接&…...

Node.js入门指南:开启JavaScript全栈开发之旅

Hi&#xff0c;我是布兰妮甜 &#xff01;Node.js让JavaScript突破了浏览器的限制&#xff0c;成为全栈开发的利器。作为基于V8引擎的高性能运行时&#xff0c;它彻底改变了JavaScript只能做前端开发的局面。本文将带你快速掌握Node.js的核心用法&#xff1a;环境搭建与模块系统…...

【STM32F1标准库】理论——通信协议:串口

目录 一、简介 二、连接方式 三、串口参数与时序 1.参数 2.时序 四、STM32实现串口通信的方法 1.使用软件模拟 2.使用硬件外设 杂谈 1.通信的目的 2.常见可以使用串口通信的模块 3.串口常用电平标准 4.串口从波形反推数据 5.奇偶校验 一、简介 命名&#xff1a;USART&#…...

轻松管理房间预约——启辰智慧预约小程序端使用教程

欢迎您使用《启辰智慧预约》场所预约小程序&#xff0c;您可以通过本小程序预约会议室/活动室等&#xff0c;并在预约审批通过后&#xff0c;获取临时开锁密码&#xff0c;开锁密码会在预约时间前30分钟生效。以下是本程序的使用流程。 一、创建单位&#xff08;新用户注册&am…...

如何在自己的服务器上部署静态网页并通过IP地址进行访问

文件放置 cd /var目录 新建www目录 进入www目录 新建html目录用于放置文件以及相关资源 修改配置文件 sudo nano /etc/nginx/sites-available/default修改index部分的html文件名 修改端口映射避免80冲突 重启Nginx sudo systemctl restart nginx打开浏览器访问即可 h…...

802.11s Mesh 组网框架流程

协议标准 使用 802.11s (标准 Mesh 协议) 基础流程框架 连接流程本质&#xff1a;Beacon → Peer Link → HWMP 路径发现 → 数据传输。mesh与easymesh的区别 阶段详解 阶段1:Beacon广播 作用&#xff1a;周期性宣告Mesh网络存在&#xff0c;同步参数&#xff08;如Mesh …...

gitcode 上传文件报错文件太大has exceeded the limited size (10 MiB) in commit

登陆gitcoe&#xff0c;在项目设置->提交设置 ,勾选提交文件限制&#xff0c;修改限制的大小。 修改完后&#xff0c;重新提交代码。...

C++代码随想录刷题知识分享-----判断两个字符串是否为字母异位词(Anagram)【LeetCode 242】

✨ 题目描述 给定两个字符串 s 和 t&#xff0c;请判断 t 是否是 s 的字母异位词。 &#x1f4cc; 示例 1&#xff1a; 输入&#xff1a;s "anagram", t "nagaram" 输出&#xff1a;true&#x1f4cc; 示例 2&#xff1a; 输入&#xff1a;s "…...

Canal mysql to mysql 增加 online 库同步配置指南

Canal 增加新库 online 的配置指南 1. 停止 Canal Adapter 服务 ./bin/stop.sh2. 数据库备份与导入 备份源数据库 mysqldump -h 127.0.0.1 -P 3307 --single-transaction -uroot -p -B online > online.sql导入到目标数据库 mysql -h 127.0.0.1 -P 3308 -uroot -p <…...

Spring MVC中Controller是如何把数据传递给View的?

在 Spring MVC 中&#xff0c;Controller 负责请求的处理&#xff0c;准备需要展示的数据&#xff0c;并将这些数据传递给 View&#xff0c;由 View 负责最终的页面渲染。数据从 Controller 传递到 View 主要通过模型 (Model) 实现。 Spring MVC 提供了以下几种方式让 Control…...

FAST-LIO笔记

1.FAST-LIO FAST-LIO 是一个计算效率高、鲁棒性强的激光-惯性里程计系统。该系统通过紧耦合的迭代扩展卡尔曼滤波器&#xff08;IEKF&#xff09;将激光雷达特征点与IMU数据进行融合&#xff0c;使其在快速运动、噪声较大或环境复杂、存在退化的情况下仍能实现稳定的导航。 1…...

挑战用豆包教我学Java01天

今天是豆包教我学Java的第一天&#xff0c;废话不多说直接开始。 1.每日题目&#xff1a; 基础语法与数据类型 题目&#xff1a;编写一个 Java 程序&#xff0c;从控制台读取两个整数&#xff0c;然后计算它们的和、差、积、商&#xff0c;并输出结果。题目&#xff1a;编写…...

基于RT-Thread的STM32G4开发第二讲第二篇——ADC

文章目录 前言一、RT-Thread工程创建二、ADC工程创建三、ADC功能实现1.ADC.c2.ADC.h3.mian.c 四、效果展示和工程分享总结 前言 本文使用的是RT-Thread最新的驱动5.1.0&#xff0c;兼容下面的所有驱动。使用的开发板是蓝桥杯嵌入式国信长安的开发板&#xff0c;MCU是STM32G431…...

居民健康监测小程序|基于微信小程序的居民健康监测小程序设计与实现(源码+数据库+文档)

居民健康监测小程序 目录 基于微信小程序的居民健康监测小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2、健康科普管理 5.3公告类型管理 3、论坛信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 …...

电商双11美妆数据分析

图中展示的是在Jupyter Notebook环境下的Python代码及运行结果。代码利用 seaborn 和 matplotlib 库&#xff0c;以 datal 数据集为基础&#xff0c;绘制上下两个子图。上方子图呈现各店铺中各大类的销售量&#xff0c;下方子图展示各店铺中各大类的销售额&#xff0c;通过条形…...

Spark-Core(双Value类型)

一、RDD转换算子&#xff08;双Value类型&#xff09; 1、intersection 函数签名&#xff1a; def intersection(other: RDD[T]): RDD[T] 函数说明&#xff1a;对源 RDD 和参数 RDD 求交集后返回一个新的 RDD 举栗&#xff1a; val dataRDD1 sparkContext.makeRDD(List(…...

【数据库原理及安全实验】实验六 角色访问控制

指导书原文 安全性管理二 【实验目的】 1) 通过语句设置登录用户的权限&#xff0c;实现对不同用户的操作权限的限定。 【实验原理】 1) 定义数据库角色&#xff0c;授予该角色特定权限&#xff0c;建立不同的用户将其置入不同的角色之下&#xff0c;即等于分配了该用户不…...

windows安装micromamba

windows安装 winget install Mamba.Micromamba Set-ExecutionPolicy RemoteSigned micromamba activate 第一次运行会报错&#xff0c;把报错中间那一句init代码跑一下 创建环境什么的和conda一样 把conda换成micromamba就行 绑定快捷键&#xff0c;winget安装&#x…...

vue-quill-editor的失焦事件

vue-quill-editor的用法再此就不再赘述了&#xff0c;只记录我在使用过程中踩的坑。 版本&#xff1a;Vue2 vue-quill-editor3.0.6 封装组件&#xff1a; <vue-quill-editorclass"editor":class"dynamicClasses"ref"myTextEditor"v-model&quo…...

【工具变量】最新华证ESG评级得分数据-含xlsx及dta格式(2009-2024.12)

参考《经济研究》中方先明&#xff08;2023&#xff09;的做法&#xff0c;将华证ESG评级进行赋值&#xff0c;指标包含C、CC、CCC、B、BB、BBB、A、AA、AAA共9个等级&#xff0c;将上市公司ESG等级从低到高分别赋值为1至9。将华证ESG评级得分数据更新至2024年12月31日&#xf…...

【纯小白博客搭建】Hugo+Github博客部署及主题(stack)美化等界面优化记录

这里写目录标题 HugoGithub博客部署及主题&#xff08;stack&#xff09;美化等界面优化写在前面hugo博客搭建教程第一种方案第二种方案 添加浏览量和统计字数添加评论功能添加访客地图 HugoGithub博客部署及主题&#xff08;stack&#xff09;美化等界面优化 效果图如下 如果…...

题解:CF2107E Ain and Apple Tree

首先考虑无解的情况。 当这棵树为一条链时&#xff0c;答案取到最大值。证明很简单&#xff0c;假设存在一个节点 u u u 至少有 2 2 2 个孩子节点&#xff0c;任取两个 v 1 , v 2 v_1,v_2 v1​,v2​&#xff0c;则 dep ( LCA ⁡ ( v 1 , v 2 ) ) dep ( u ) \text{dep}(\o…...

STM32的看门狗

独立看门狗&#xff08;IWDG&#xff09; IWDG简介 独立看门狗&#xff08;Independent Watchdog&#xff0c;通常缩写为IWDG&#xff09;主要作用是主要用于检测外界电磁干扰&#xff0c;或硬件异常导致的程序跑飞问题。 WDG本质上是一个12位的递减计数器&#xff08;滴答定…...

小王包子铺的融资过程以及IPO上市过程

用包子铺来打个通俗易懂的比喻&#xff0c;一步步讲清楚从创业到融资上市的全过程。 &#x1f95f; 故事背景&#xff1a;老王的包子铺 老王做的包子特别好吃&#xff0c;于是他决定不再只是摆摊&#xff0c;而是创办一家叫 “老王包子铺” 的连锁店。我们就以老王创业为线索&…...

WPF 触发器 Trigger

触发器 Trigger 触发器&#xff08;Trigger&#xff09;是 WPF 中的一种机制&#xff1a; 当某个条件满足时&#xff0c;自动改变控件的某些属性&#xff0c;比如颜色、大小、透明度等。 换句话说&#xff0c;就是"如果……那么就……" 的一种规则。 常见触发器类…...

CentOS算法部署

CentOS服务部署 第一章 启动两个算法服务第一步&#xff1a;上传算法文件第二步&#xff1a;安装 tmux第三步&#xff1a;启动服务&#xff08;1&#xff09; 启动第一个算法服务&#xff08;2&#xff09; 启动第二个算法服务 第四步&#xff1a;关闭防火墙 第一章 启动两个算…...

极狐GitLab 命名空间的类型有哪些?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 命名空间 命名空间在极狐GitLab 中组织项目。因为每一个命名空间都是单独的&#xff0c;您可以在多个命名空间中使用相同的项…...

使用 Apache POI 生成包含文本和图片的 Word 文档

一、概述 在实际开发场景中&#xff0c;我们经常需要自动生成包含文本和图片的 Word 文档。本示例借助 Apache POI 库&#xff0c;实现了向 Word 文档中插入文本和图片的功能。代码会循环插入多次文本和同一张图片&#xff0c;并且对图片进行等比缩放处理&#xff0c;以保证图片…...

Eclipse通过Tomcat启动web项目报错

错误内容&#xff1a;Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext。 本来运行的好好的&#xff0c;执行了Maven->Update Porject后就报上面的错。 通过检查发现&#xff0c;执行上面的命令后会将下面截图中的maven depen…...

5.7线性动态规划1

P2285 [HNOI2004] 打鼹鼠 #include<bits/stdc.h> using namespace std; struct node{int x, y, t; }a[100010]; int dp[100010]; void solve(){int n, m; cin >> n >> m;for(int i 1; i < m; i){cin >> a[i].t >> a[i].x >> a[i].y;}…...

Word如何制作三线表格

1.需求 将像这样的表格整理成论文中需要的三线表格。 2.直观流程 选中表格 --> 表格属性中的边框与底纹B --> 在设置中选择无&#xff08;重置表格&#xff09;–> 确定 --> 选择第一行&#xff08;其实是将第一行看成独立表格了&#xff0c;为了设置中线&…...

【Mybatis-plus常用语法】

MyBatis-Plus 是 MyBatis 的增强工具&#xff0c;提供了很多便捷的功能来简化开发。以下是一些 MyBatis-Plus 的常见语法&#xff1a; 实体类注解&#xff1a;使用 TableName 注解来指定实体类和数据库表的映射关系。 TableName("user") public class User {privat…...

16.Excel:数据收集

一 使用在线协作工具 简道云。 excel的在线表格协作在国内无法使用&#xff0c;而数据采集最需要在线协作。 二 使用 excel 1.制作表格 在使用excel进行数据采集的时候&#xff0c;会制作表头给填写人&#xff0c;最好还制作一个示例。 1.输入提示 当点击某个单元格的时候&am…...

基于Django框架开发的企业级IT资产管理系统

CMDB 资产管理系统 资产管理系统是一个基于Django框架开发的企业级IT资产管理平台&#xff0c;专注于数据中心和IT设备的全生命周期管理。该系统提供了完整的资产管理功能&#xff0c;包括设备管理、数据中心管理、用户权限管理等核心功能。 项目截图 技术栈 后端 Python 3…...

Redis 集群版本升级指南:从 Redis 7 升级到 Redis 8

Redis 集群升级主要有两种方案&#xff1a; 1、在线滚动升级&#xff08;无需停机&#xff09; 2、停机升级&#xff08;需停止服务&#xff09; 一、准备工作 1. 下载 Redis 8 安装包 # Redis 8.0.0 示例&#xff08;请替换为实际版本&#xff09; http://download.redis.io…...

使用 Couchbase Analytics Service 的典型步骤

下面是使用 Couchbase Analytics Service 的典型步骤&#xff0c;包括部署、配置、创建数据集、运行查询以及监控优化等环节。 首先&#xff0c;您需要安装并启用 Analytics 服务&#xff1b;然后将节点加入集群并重平衡&#xff1b;接着在 Analytics 中映射数据服务的集合&am…...

C++ stl中的vector的相关用法 迭代器失效问题

文章目录 vector的介绍及使用vector的定义 vector的空间相关问题vector的迭代器的使用vector的增删查改vector迭代器失效问题 vector的介绍及使用 1、vector是用于表示可变大小数组的序列容器。 2、vector就像数组一样&#xff0c;采用的是连续的空间来存储元素&#xff0c;也…...

【Redis】哨兵机制和集群

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【中间件】企业级中间件剖析 一、哨兵机制 Redis的主从复制模式下&#xff0c;一旦主节点由于故障不能提供服务&#xff0c;需要人工的进行主从切换&#xff0c;同时需要大量的客户端需要被通知切换到…...

uni-app 引入vconsole web端正常,安卓端报错 Cannot read property ‘sendBeacon‘ of undefined

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: Cannot read property sendBeacon of undefined vconsole 只支持 web 端&#xff0c;…...