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

【leetcode】滑动窗口刷题总结

滑动窗口算法技巧主要用来解决子数组问题,比如让你寻找符合某个条件的最长/最短子数组或者子串。对于某些题目,并不需要穷举所有子串,就能找到题目想要的答案。滑动窗口就是这种场景下的一套算法模板,帮你对穷举过程进行剪枝优化,将求解子串复杂度由O(N^2)->O(N)

滑动窗口-定长滑动窗口

定长滑窗三步曲:入-更新-出

  • 入(扩大窗口):下标为 i 的元素进入窗口,更新相关统计量
  • 更新:更新答案,一般是更新最大值/最小值
  • 出(更新窗口):下标为 i−k+1 的元素离开窗口,更新相关统计量

LeetCode1456题 定长子串中元音的最大数目

class Solution:def maxVowels(self, s: str, k: int) -> int:res = num = 0for i in range(len(s)):# 入if s[i] in 'aeiou':num += 1# 长度不足,继续向前if i < k - 1:continue# 更新res = max(res, num)# 出if s[i - k + 1] in 'aeiou':num -= 1return res

 LeetCode438题 找到字符串中所有字母异位词

class Solution:def findAnagrams(self, s: str, p: str) -> List[int]:res = []need_dict = dict()for s_ in p:need_dict[s_] = need_dict.get(s_, 0) + 1satisfy_num = 0for right in range(len(s)):# 入if s[right] in need_dict:need_dict[s[right]] -= 1if need_dict[s[right]] == 0:satisfy_num += 1if right < len(p) - 1:continue# 更新if satisfy_num == len(need_dict):res.append(right - len(p) + 1)# 出if s[right - len(p) + 1] in need_dict:need_dict[s[right - len(p) + 1]] += 1if need_dict[s[right - len(p) + 1]] == 1:satisfy_num -= 1return res

LeetCode30题 串联所有单词的子串

“找到字符串中所有字母异位词”的升级版,将“字母异位”升级为“单词异位”。首先需要将s划分为单词组,每个单词的大小均为n,这样的划分方法有n种,即先删去前i (i=0∼n−1)个字母后,将剩下的字母进行划分,如果末尾有不到 n 个字母也删去。对这n种划分得到的单词数组分别使用滑动窗口对words进行类似于「字母异位词」的搜寻

class Solution:def findSubstring(self, s: str, words: List[str]) -> List[int]:res = []m, n = len(words), len(words[0])for i in range(n):# 初始化变量need_dict = dict()satisfy_num = 0for w in words:need_dict[w] = need_dict.get(w, 0) + 1# 滑动窗口for right in range(i, len(s)):# 入if (right - i + 1) % n == 0:s_ = s[right - n + 1: right + 1]if s_ in need_dict:need_dict[s_] -= 1if need_dict[s_] == 0:satisfy_num += 1if right - i + 1 < m * n:continue# 更新if satisfy_num == len(need_dict):res.append(right - m * n + 1)# 出if (right - i + 1) % n == 0:s_ = s[right - m * n + 1: right - n * m + n + 1]if s_ in need_dict:need_dict[s_] += 1if need_dict[s_] == 1:satisfy_num -= 1return res

滑动窗口-不定长滑动窗口-求最长子数组/子串

LeetCode3题 无重复字符的最长子串

  • 窗口就是无重复字符的连续子串
  • 窗口的起始位置如何移动:如果当前窗口不满足条件,窗口起始位置就要向前移动
  • 窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针
class Solution:def lengthOfLongestSubstring(self, s: str) -> int:res = 0left = 0visited = dict()for right in range(len(s)):# 入visited[s[right]] = visited.get(s[right], 0) + 1# 出:当不满足条件时,需要持续向右移动left指针while visited[s[right]] > 1:visited[s[left]] -= 1left += 1# 更新:统计加入s[right]时满足条件的子串长度res = max(res, right - left + 1)return res

LeetCode904题 水果成篮

class Solution:def totalFruit(self, fruits: List[int]) -> int:res = 0left = 0window_fruits = dict()window_num = 0for right in range(len(fruits)):# 入window_fruits[fruits[right]] = window_fruits.get(fruits[right], 0) + 1window_num += 1# 出while len(window_fruits) >= 3:window_fruits[fruits[left]] -= 1if window_fruits[fruits[left]] == 0:del window_fruits[fruits[left]]left += 1window_num -= 1# 更新res = max(res, window_num)return res

LeetCode395题 至少有K个字符的最长子串

我们枚举最长子串中的字符种类数目,它最小为 1,最大为26。对于给定的字符种类数量,我们维护滑动窗口的左右边界、滑动窗口内部每个字符出现的次数,以及滑动窗口内的字符种类数。当 种类数超过设定时,我们不断地右移左边界,并对应地更新其他变量,并记录下符合条件的最长子串

class Solution:def longestSubstring(self, s: str, k: int) -> int:res = 0for max_char_num in range(1, 27):left = 0window_count = dict()satisfy_num = 0for right in range(len(s)):# 入window_count[s[right]] = window_count.get(s[right], 0) + 1if window_count[s[right]] == k:satisfy_num += 1# 出while len(window_count) > max_char_num:window_count[s[left]] -= 1if window_count[s[left]] == k - 1:satisfy_num -= 1if window_count[s[left]] == 0:del window_count[s[left]]left += 1# 更新if satisfy_num == len(window_count):res = max(res, right - left + 1)return res

滑动窗口-不定长滑动窗口-求最短子数组/子串

LeetCode76题 最小覆盖子串

class Solution:def minWindow(self, s: str, t: str) -> str:res = ''# 记录需要覆盖的字母数量need = dict()for i in t:need[i] = need.get(i, 0) + 1# 记录覆盖的字母数量cover = 0# 初始化左边界left = 0for right in range(len(s)):# 入if s[right] in need:need[s[right]] -= 1if need[s[right]] == 0:cover += 1# 出:当满足条件时,记录覆盖字串,同时开始将左侧指针右移while cover == len(need):# 更新结果if right - left + 1 < len(res) or len(res) == 0:res = s[left: right + 1]if s[left] in need:need[s[left]] += 1if need[s[left]] == 1:cover -= 1left += 1return res

LeetCode209题 长度最小的子数组

  • 窗口就是满足和>=target的连续子数组
  • 窗口的起始位置如何移动:如果当前窗口的值>=target,窗口就要向右移动
  • 窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针
class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:res = len(nums) + 1window_sum = 0left = 0for right in range(len(nums)):# 入window_sum += nums[right]# 出while window_sum >= target:# 更新res = min(res, right - left + 1)window_sum -= nums[left]left += 1if res == len(nums) + 1:return 0else:return res

LeetCode632题 最小区间

排序 + 滑动窗口:把所有元素都合在一起排序,可以得到(元素值,所属列表编号)组成的数组,合法区间等价于排序后的一个连续子数组,满足列表编号0~k-1都在这个子数组中。由于子数组越长,越能包含所有编号,有单调性,可以用滑动窗口解决

class Solution:def smallestRange(self, nums: List[List[int]]) -> List[int]:sorted_nums = sorted([(x, i) for i, arr in enumerate(nums) for x in arr])cover_count = dict()res = [-10**5, 10**5]left = 0for right in range(len(sorted_nums)):# 入cover_count[sorted_nums[right][1]] = cover_count.get(sorted_nums[right][1], 0) + 1while len(cover_count) == len(nums):# 更新l, r = sorted_nums[left][0], sorted_nums[right][0]if r - l < res[1] - res[0] or (r - l == res[1] - res[0] and l < res[0]):res = [l, r]# 出cover_count[sorted_nums[left][1]] -= 1if cover_count[sorted_nums[left][1]] == 0:del cover_count[sorted_nums[left][1]]left += 1return res

滑动窗口-不定长滑动窗口-求子数组个数

LeetCode1358题 包含所有三种字符的子字符串数目

越长越合法:平移左指针,不断调整右指针位置直到符合条件,右指针右侧都是符合条件的子数组

class Solution:def numberOfSubstrings(self, s: str) -> int:res = 0right = 0window_count = dict()for left in range(len(s)):# 入while len(window_count) < 3 and right < len(s):window_count[s[right]] = window_count.get(s[right], 0) + 1right += 1# 更新if len(window_count) == 3:res += len(s) - right + 1# 出window_count[s[left]] -= 1if window_count[s[left]] == 0:del window_count[s[left]]return res

LeetCode713题 乘积小于K的子数组

越短越合法:平移右指针,不断调整左指针位置直到符合条件,左指针右侧都是符合条件的子数组

class Solution:def numSubarrayProductLessThanK(self, nums: List[int], k: int) -> int:res = 0window_res = 1left = 0for right in range(len(nums)):# 入window_res *= nums[right]# 出while window_res >= k and left <= right:window_res /= nums[left]left += 1# 更新res += right - left + 1return res

 LeetCode930题 和相同的二元子数组

要计算有多少个元素和恰好等于k的子数组,可以把问题变成:

  • 计算有多少个元素和<=k的子数组
  • 计算有多少个元素和<=k-1的子数组

然后将两个值相减,就是答案

class Solution:def numSubarraysWithSum(self, nums: List[int], goal: int) -> int:return self.sliding_window(nums, goal) - self.sliding_window(nums, goal - 1)def sliding_window(self, nums, k):# 和<=k的子数组个数res = 0window_sum = 0left = 0for right in range(len(nums)):window_sum += nums[right]while window_sum > k and left <= right:window_sum -= nums[left]left += 1res += right - left + 1return res

相关文章:

【leetcode】滑动窗口刷题总结

滑动窗口算法技巧主要用来解决子数组问题&#xff0c;比如让你寻找符合某个条件的最长/最短子数组或者子串。对于某些题目&#xff0c;并不需要穷举所有子串&#xff0c;就能找到题目想要的答案。滑动窗口就是这种场景下的一套算法模板&#xff0c;帮你对穷举过程进行剪枝优化&…...

【MySQL】通过shell脚本一键同步MySQL数据库结构和数据到指定库中

通过shell脚本对数据库进行覆盖式备份/迁移&#xff0c;简单方便&#xff0c;适合需要快速同步某个库结构和数据到目标库的场景。 通过AI调试了好些次得到能用的脚本&#xff0c;本文主要是做一个对该脚本的记录| 安装依赖 # 安装进度条库 sudo apt install pv注&#xff1a;如…...

C# COM 组件在.NET 平台上的编程介绍

.NET学习资料 .NET学习资料 .NET学习资料 一、COM 组件简介 COM&#xff08;Component Object Model&#xff09;即组件对象模型&#xff0c;是一种微软提出的软件组件技术&#xff0c;它允许不同的软件模块在二进制层面进行交互。COM 组件可以用多种编程语言开发&#xff0…...

数据结构与算法:动态规划dp:背包问题:理论基础(状态压缩/滚动数组)和相关力扣题(416. 分割等和子集、1049.最后一块石头的重量Ⅱ、494.目标和)

背包问题 01背包理论基础 对于01背包问题&#xff0c;物品下标为0到i&#xff0c;对应的重量为weight[0]到weight[i]&#xff0c;价值为value[0]到value[i]&#xff0c;每个物品只可以取或不取&#xff0c;背包最大容量为j的场景。 常见的状态转移方程如下&#xff1a; dp[i…...

【MySQL例题】我在广州学Mysql 系列——有关数据备份与还原的示例

ℹ️大家好&#xff0c;我是练小杰&#xff0c;今天周二&#xff0c;明天就是元宵节了呀&#xff01;&#xff01;&#x1f606; 俗话说“众里寻他千百度。蓦然回首&#xff0c;那人却在&#xff0c;灯火阑珊处。” 本文主要对数据库备份与还原的知识点例题学习~~ 前情回顾&…...

【Git】完美解决git push报错403

remote: Permission to xx.git denied to xx. fatal: unable to access https://github.com/xx/xx.git/: The requested URL returned error: 403出现这个就是因为你的&#xff08;personal access tokens &#xff09;PAT过期了 删掉旧的token 生成一个新的 mac系统 在mac的…...

2021 年 9 月青少年软编等考 C 语言五级真题解析

目录 T1. 问题求解思路分析T2. 抓牛思路分析T3. 交易市场思路分析T4. 泳池思路分析T1. 问题求解 给定一个正整数 N N N,求最小的 M M M 满足比 N N N 大且 M M M 与 N N N 的二进制表示中有相同数目的 1 1 1。 举个例子,假如给定 N N N 为 78 78 78,二进制表示为 …...

玩转适配器模式

文章目录 解决方案现实的举例适用场景实现方式适配器模式优缺点优点:缺点:适配器模式可比上一篇的工厂模式好理解多了,工厂模式要具有抽象的思维。这个适配器模式,正如字面意思,就是要去适配某一件物品。 假如你正在开发一款股票市场监测程序, 它会从不同来源下载 XML 格…...

Batch Normalization (BN) 和 Synchronized Batch Normalization (SyncBN) 的区别

Batch Normalization 和 Synchronized Batch Normalization 的区别 Batch Normalization (BN) 和 Synchronized Batch Normalization (SyncBN) 的区别1. BN&#xff08;Batch Normalization&#xff09;2. SyncBN&#xff08;Synchronized Batch Normalization&#xff09;3. 选…...

MySQL主从同步

目录 一、MySQL主从同步 1、基于binlog的主从同步 2、基于gtid的主从同步配置 二、MySQL 主从读写分离实现方案 2.1 ProxySQL实现mysql8主从同步读写分离 1、ProxySQL基本介绍 2、ProxySQL结构 2、实验环境 3、实现数据库主从复制 4、安装ProxySQL 5、配置ProxySQL …...

CCFCSP认证考试 ——202403-1 词频统计

题目&#xff1a; 在学习了文本处理后&#xff0c;小 P 对英语书中的 n 篇文章进行了初步整理。 具体来说&#xff0c;小 P 将所有的英文单词都转化为了整数编号。假设这 n 篇文章中共出现了 m 个不同的单词&#xff0c;则把它们从 1 到 m 进行编号。 这样&#xff0c;每篇文章…...

关于“i18n“在vue中的使用

关于"i18n"在vue中的使用 <!-- vue2中 --> <template><div>{{ $t("This campaign has expired.") }}}}</div> </template> <script> export default {created() {this.onLoading();},methods: {onLoading () {this.$…...

MATLAB中count函数用法

目录 语法 说明 示例 对出现次数计数 使用模式对数字和字母进行计数 多个子字符串的所有出现次数 忽略大小写 对字符向量中的子字符串进行计数 count函数的功能是计算字符串中模式的出现次数。 语法 A count(str,pat) A count(str,pat,IgnoreCase,true) 说明 A c…...

Spring中的@Component和@Bean有什么区别?

在Spring框架中&#xff0c;Component和Bean都用于定义Bean&#xff0c;但它们的使用场景和方式有所不同。 ### 1. Component - **作用范围**&#xff1a;Component是一个类级别的注解&#xff0c;通常用于标记一个类为Spring的组件。Spring会自动扫描并注册这些类为Bean。 -…...

泛化、选择、分化

泛化是指记忆联系的“发散”&#xff0c;泛化兴奋的基础是模糊兴奋。记忆联系的“发散”有以下几种种情况&#xff1a; 1、联络区的一原始记忆柱群&#xff08;A1&#xff09;具有直接或间接与其它任意联络区的任意原始记忆柱群建立记忆联系的潜力。也就是说任何两个对象&…...

剖析 C++ 模拟算法:数据结构、随机数生成与模型验证

模拟算法 (Simulation Algorithms) 是一种通过计算机程序来模拟现实世界或系统行为的算法。它不依赖于特定的数学公式或优化技术&#xff0c;而是直接按照系统的规则和逻辑进行步骤一步地模拟。 模拟算法的复杂度和效率取决于模拟系统的复杂程度和模拟的精度要求。 在 C 中&…...

51单片机俄罗斯方块整行消除函数

/************************************************************************************************************** * 名称&#xff1a;flash * 功能&#xff1a;行清除动画 * 参数&#xff1a;NULL * 返回&#xff1a;NULL * 备注&#xff1a; * 采用非阻塞延时&#xff0…...

IDEA升级出现问题Failed to prepare an update Temp directory inside installation

IDEA升级出现问题"Failed to prepare an update Temp directory inside installation…" 问题来源&#xff1a; 之前修改了IDEA的默认配置文件路径&#xff0c;然后升级新版本时就无法升级&#xff0c;提示"Failed to prepare an update Temp directory insid…...

Windows系统下设置Vivado默认版本:让工程文件按需打开

在FPGA开发过程中&#xff0c;我们常常需要在一台电脑上安装多个不同版本的Vivado软件&#xff0c;以满足不同项目的需求。然而&#xff0c;当双击打开一个Vivado工程文件&#xff08;.xpr&#xff09;时&#xff0c;系统默认会调用一个固定的版本&#xff0c;这可能并不是我们…...

CSS3+动画

浏览器内核以及其前缀 css标准中各个属性都要经历从草案到推荐的过程&#xff0c;css3中的属性进展都不一样&#xff0c;浏览器厂商在标准尚未明确的情况下提前支持会有风险&#xff0c;浏览器厂商对新属性的支持情况也不同&#xff0c;所有会加厂商前缀加以区分。如果某个属性…...

Kotlin 2.1.0 入门教程(十一)for、while、return、break、continue

for 循环 for 循环会遍历任何提供迭代器的对象。 for (item in collection) print(item)for (int: Int in ints) {println(int) }for 循环会遍历任何提供迭代器的对象&#xff0c;这意味着该对象必须满足以下条件&#xff1a; 具有一个成员函数或扩展函数 iterator()&#xf…...

深度探索DeepSeek:成本效益之辩与市场展望

摘要 DeepMind的CEO对DeepSeek的成本效益提出质疑&#xff0c;认为其成本被过度炒作。他指出&#xff0c;DeepSeek所使用的技术大多源自谷歌和DeepMind。然而&#xff0c;分析机构SemiAnalysis强调&#xff0c;DeepSeek的优势在于其成本与能力的卓越组合。尽管目前DeepSeek的成…...

DeepSeek投喂数据(训练AI)

1、拉取nomic-embed-text 打开命令行&#xff0c;运行&#xff1a;ollama pull nomic-embed-text 这里需要先安装ollama &#xff0c;不过大家应该在本地部署模型时已经安装了 拉取成功就行了&#xff0c;后续在配置AnythingLLM时用到 2、下载 AnythingLLM 地址&#xff1a…...

Docker 安装与配置 Nginx

摘要 1、本文全面介绍了如何在 Docker 环境中安装和配置 Nginx 容器。 2、文中详细解释了如何设置 HTTPS 安全连接及配置 Nginx 以实现前后端分离的代理服务。 2、同时&#xff0c;探讨了通过 IP 和域名两种方式访问 Nginx 服务的具体配置方法 3、此外&#xff0c;文章还涵…...

常用电路(过压保护、电流/电压采集)

过压保护电路 输入电压使用电源&#xff08;36V&#xff09;或者typec&#xff08;20V&#xff09;&#xff0c;需要过压保护电路处理输入再连接到CH224K&#xff0c;保证输入不高于最大获取电压20V MOS管导通条件为栅源极有压差&#xff0c;一般为5-10V 三极管导通条件为基极…...

12.Python模块:模块中的__all__、模块制作、打包模块、模块安装与使用

在 Python 中&#xff0c;模块是一个包含 Python 代码的文件。模块可以包含函数、类和变量&#xff0c;也可以包括可执行的代码。Python提供了一套强大的模块系统&#xff0c;支持模块的制作、打包、安装和使用。接下来&#xff0c;我们将详细介绍 __all__、模块制作、打包模块…...

Socket通信端口绑定的逻辑实现

在实现网络通信时&#xff0c;一个 Socket 需要维护输入端与输出端的 IP 地址和端口号&#xff0c;同时也需要输入与输出字节缓冲区&#xff1a; 输入端与输出端的 IP 地址和端口号 作用 标识通信端点&#xff1a;IP 地址用于标识网络中的设备&#xff0c;端口号用于标识设备…...

在freertos中,中断优先级和任务优先级之间的关系和使用方法

中断优先级和任务优先级如何匹配&#xff1f;任务优先级不同任务之间该用多高的优先级&#xff1f;中断优先级不同中断中该用多高的优先级&#xff1f;中断优先级和任务优先级设置时&#xff0c;怎样设置可以让任务在调度时屏蔽中断&#xff1f;怎样设置可以让任务在调度时&…...

解锁摄影潜能:全面解析相机镜头的选择与使用逻辑

目录 一、镜头分类&#xff1a;从焦距到用途的底层逻辑 &#xff08;一&#xff09;按焦距和视角分类&#xff08;一级分类&#xff09; &#xff08;二&#xff09;按特殊用途分类&#xff08;一级分类&#xff09; 二、参数解码&#xff1a;超越 “光圈越大越好” 的思维定…...

java项目之直销模式下家具工厂自建网站源码(ssm+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的直销模式下家具工厂自建网站源码。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 直销模式下家具…...

CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测,光伏功率预测

代码地址&#xff1a;CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测&#xff0c;光伏功率预测 CNN-BiLSTM卷积神经网络双向长短期记忆神经网络多变量多步预测 一、引言 1.1、研究背景和意义 光伏功率预测在现代电力系统中占有至关重要的地位。随着可再生能源…...

grid网格布局中实现父盒子比较大,子元素顶部对齐

css布局中使用grid布局&#xff0c;父盒子的高度是1000px&#xff0c;每个子元素高度是100px&#xff0c;现在有三个子元素&#xff0c;如何实现每行显示两个&#xff0c;并且子元素都顶部对齐&#xff1f;如图所示的效果。 grid布局文档&#xff1a;grid - CSS&#xff1a;层…...

P4814 [CCO 2014] 国王格鲁夫

题目描述 本题译自 CCO 2014 Day1 T2「King Gruff」 狼国王格鲁夫统治着一个居住着可爱的狐狸的繁荣、快乐的领地。对狐狸们来说,不幸的是,他根本不是一个好国王,而且还想让他们的生活过得很惨。 他的国家有 N 个城市,由 M 条路连接,第 i 条路可以让你从城市 Xi​ 走到…...

[QMT量化交易小白入门]-二十二、deepseek+cline+vscode,让小白使用miniQMT量化交易成为可能

本专栏主要是介绍QMT的基础用法&#xff0c;常见函数&#xff0c;写策略的方法&#xff0c;也会分享一些量化交易的思路&#xff0c;大概会写100篇左右。 QMT的相关资料较少&#xff0c;在使用过程中不断的摸索&#xff0c;遇到了一些问题&#xff0c;记录下来和大家一起沟通&a…...

吃瓜教程Day1笔记

主要内容&#xff1a; 1. 什么是机器学习以及 2. 机器学习的相关数学符号&#xff0c;为后续内容作铺垫&#xff0c;并未涉及复杂的算法理论&#xff0c; 因此阅读本章时只需耐心梳理清楚所有概念和数学符号即可。 3. “模型评估与选择” 是在模型产出以后进行的下游工作&…...

在 C# 中,处理 Excel 和 PDF 文件的库有很多。以下是一些比较常用的选择

读取 Excel 文件的库 NPOI 用途&#xff1a;可以读取和写入 .xls 和 .xlsx 文件。特点&#xff1a;无需安装 Microsoft Office&#xff0c;支持简单的 Excel 操作&#xff0c;如格式化、公式、图表等。 EPPlus 用途&#xff1a;主要用于 .xlsx 格式&#xff08;Excel 2007 及以…...

IntelliJ IDEA 安装与使用完全教程:从入门到精通

一、引言 在当今竞争激烈的软件开发领域&#xff0c;拥有一款强大且高效的集成开发环境&#xff08;IDE&#xff09;是开发者的致胜法宝。IntelliJ IDEA 作为 JetBrains 公司精心打造的一款明星 IDE&#xff0c;凭借其丰富多样的功能、智能精准的代码提示以及高效便捷的开发工…...

SkyWalking 10.1.0 实战:从零构建全链路监控,解锁微服务性能优化新境界

文章目录 前言一、集成SkyWalking二、SkyWalking使用三、SkyWalking性能剖析四、SkyWalking 告警推送4.1 配置告警规则4.2 配置告警通知地址4.3 下发告警信息4.4 测试告警4.5 慢SQL查询 总结 前言 在传统监控系统中&#xff0c;我们通过进程监控和日志分析来发现系统问题&…...

1. 构建grafana(版本V11.5.1)

一、grafana官网 https://grafana.com/ 二、grafana下载位置 进入官网后点击downloads&#xff08;根据自己的需求下载&#xff09; 三、grafana安装&#xff08;点击下载后其实官网都写了怎么安装&#xff09; 注&#xff1a;我用的Centos&#xff0c;就简略的写下我的操作步…...

STM32-知识

一、Cortex-M系列双指针 Cortex-M系列的MSP与PSP有一些重要的区别&#xff0c;双指针是为了保证OS的安全性和稳健性。本质上&#xff0c;区别于用户程序使用PSP&#xff0c;操作系统和异常事件单独使用一个MSP指针的目的&#xff0c;是为了保证栈数据不会被用户程序意外访问或…...

SearchBar组件的功能与用法

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了"Material3中的IconButton"相关的内容&#xff0c;本章回中将介绍SearchBar组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本…...

解决VsCode的 Vetur 插件has no default export Vetur问题

文章目录 前言1.问题2. 原因3. 解决其他 前言 提示&#xff1a; 1.问题 Cannot find module ‘ant-design-vue’. Did you mean to set the ‘moduleResolution’ option to ‘node’, or to add aliases to the ‘paths’ option? Module ‘“/xxx/xxx/xxx/xxx/xxx/src/vie…...

游戏引擎学习第96天

讨论了优化和速度问题&#xff0c;以便简化调试过程 节目以一个有趣的类比开始&#xff0c;提到就像某些高端餐厅那样&#xff0c;菜单上充满了听起来陌生或不太清楚的描述&#xff0c;需要依靠服务员进一步解释。虽然这听起来有些奇怪&#xff0c;但实际上&#xff0c;它反映…...

【项目总结】易到家家政服务平台 —— 派单调度(7)

派单调度需求分析 在抢单业务中&#xff0c;用户下单成功由服务人员或机构进行抢单&#xff0c;抢单成功服务人员上门服务&#xff0c;除了抢单业务系统还设计了派单业务&#xff0c;由系统根据用户订单的特点自动派给合适的服务人员。 流程如下&#xff1a; 首先获取待分配…...

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 0基础…...

Flink-DataStream API

一、什么样的数据可以用于流式传输 Flink的DataStream API 允许流式传输他们可以序列化的任何内容。Flink自己的序列化程序用于 基本类型&#xff1a;即字符串、长、整数、布尔值、数组复合类型&#xff1a;元组、POJO和Scala样例类 基本类型我们已经很熟悉了&#xff0c;下…...

chromium-mojo

https://chromium.googlesource.com/chromium/src//refs/heads/main/mojo/README.md 相关类&#xff1a;https://zhuanlan.zhihu.com/p/426069459 Core:https://source.chromium.org/chromium/chromium/src//main:mojo/core/README.md;bpv1;bpt0 embedder:https://source.chr…...

Sourcetree 安装教程(附下载链接)

一、介绍 Sourcetree是一款免费的Git桌面工具&#xff0c;可以简化我们与Git之间敲代码的过程&#xff0c;使得我们可以更快的管理代码版本。 虽然现在各大IDE都内置Git功能&#xff0c;但在一些没有内置Git的IDE情况下&#xff0c;使用Sourcetree进行Git下的代码管理是一件非…...

NIO 和 AIO 的区别?

目录 设计理念 工作模式 适用场景 性能特点 NIO(Non - blocking I/O,非阻塞 I/O)和 AIO(Asynchronous I/O,异步 I/O)都是 Java 中用于实现高效 I/O 操作的机制,它们在设计理念、工作模式、适用场景等方面存在明显区别,以下为你详细介绍: 设计理念 NIO:NIO 基于事…...

Python中10个常用的接口自动化装饰器

更多Python学习内容&#xff1a;ipengtao.com 装饰器&#xff08;Decorators&#xff09;是Python中一种强大的编程工具&#xff0c;它们用于修改或增强函数或方法的行为。在接口自动化测试中&#xff0c;装饰器可以起到简化代码、提高代码可维护性和可重用性的作用。本文将介…...