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

力扣第206场周赛

 周赛链接:竞赛 - 力扣(LeetCode)全球极客挚爱的技术成长平台​​​​​​

1. 二进制矩阵中的特殊位置

给定一个 m x n 的二进制矩阵 mat,返回矩阵 mat 中特殊位置的数量。

如果位置 (i, j) 满足 mat[i][j] == 1 并且行 i 与列 j 中的所有其他元素都是 0(行和列的下标从 开始计数),那么它被称为 特殊 位置。

输入:mat = [[1,0,0],[0,0,1],[1,0,0]]
输出:1
解释:位置 (1, 2) 是一个特殊位置,因为 mat[1][2] == 1 且第 1 行和第 2 列的其他所有元素都是 0。
输入:mat = [[1,0,0],[0,1,0],[0,0,1]]
输出:3
解释:位置 (0, 0),(1, 1) 和 (2, 2) 都是特殊位置。

提示:

  • m == mat.length
  • n == mat[i].length
  • 1 <= m, n <= 100
  • mat[i][j] 是 0 或 1

数据范围很小, 直接简单模拟, 定位到(i,j), 累加第i行和第j列的和是否为0

class Solution {
public:int m,n;int judge(int i,int j,vector<vector<int>>& mat){int row=0,col=0;for(int a=0;a<n;a++){row+=mat[i][a];}for(int b=0;b<m;b++){col+=mat[b][j];}if(row+col==2){return 1;}return 0;}int numSpecial(vector<vector<int>>& mat) {int ct=0; m=mat.size(); n=mat[0].size();for(int i=0;i<m;i++){for(int j=0;j<n;j++){if(mat[i][j]==1){ct+=judge(i,j,mat);}}}return ct;}
};

2. 统计不开心的朋友 

给你一份 n 位朋友的亲近程度列表,其中 n 总是 偶数 。

对每位朋友 ipreferences[i] 包含一份 按亲近程度从高到低排列 的朋友列表。换句话说,排在列表前面的朋友与 i 的亲近程度比排在列表后面的朋友更高。每个列表中的朋友均以 0 到 n-1 之间的整数表示。

所有的朋友被分成几对,配对情况以列表 pairs 给出,其中 pairs[i] = [xi, yi] 表示 xi 与 yi 配对,且 yi 与 xi 配对。

但是,这样的配对情况可能会使其中部分朋友感到不开心。在 x 与 y 配对且 u 与 v 配对的情况下,如果同时满足下述两个条件,x 就会不开心:

  • x 与 u 的亲近程度胜过 x 与 y,且
  • u 与 x 的亲近程度胜过 u 与 v

返回 不开心的朋友的数目 。

示例 1:

输入:n = 4, preferences = [[1, 2, 3], [3, 2, 0], [3, 1, 0], [1, 2, 0]], pairs = [[0, 1], [2, 3]]
输出:2
解释:
朋友 1 不开心,因为:
- 1 与 0 配对,但 1 与 3 的亲近程度比 1 与 0 高,且
- 3 与 1 的亲近程度比 3 与 2 高。
朋友 3 不开心,因为:
- 3 与 2 配对,但 3 与 1 的亲近程度比 3 与 2 高,且
- 1 与 3 的亲近程度比 1 与 0 高。
朋友 0 和 2 都是开心的。

示例 2:

输入:n = 2, preferences = [[1], [0]], pairs = [[1, 0]]
输出:0
解释:朋友 0 和 1 都开心。

示例 3:

输入:n = 4, preferences = [[1, 3, 2], [2, 3, 0], [1, 3, 0], [0, 2, 1]], pairs = [[1, 3], [0, 2]]
输出:4

提示:

  • 2 <= n <= 500
  • n 是偶数
  • preferences.length == n
  • preferences[i].length == n - 1
  • 0 <= preferences[i][j] <= n - 1
  • preferences[i] 不包含 i
  • preferences[i] 中的所有值都是独一无二的
  • pairs.length == n/2
  • pairs[i].length == 2
  • xi != yi
  • 0 <= xi, yi <= n - 1
  • 每位朋友都 恰好 被包含在一对中

解题思路:根据题意我们知道, (i,j),(u,v), i与u的比i与j更亲近, u与i比u与v更亲近, 此时i就会不开心, pairs数组提供了配对, 我们要判断在这种配对下, 是否存在有人不开心。 代码实现上, 遍历preferences, 对preferences[i]中的按亲近程度分别用0,1,2...进行标记(数字越小越亲近)。然后遍历判断即可

class Solution {
public:int unhappyFriends(int n, vector<vector<int>>& preferences, vector<vector<int>>& pairs) {vector<vector<int>> a(n,vector<int>(n,0));for(int i=0;i<n;i++){for(int j=0;j<n-1;j++){a[i][preferences[i][j]]=j;}}//(i,j),(u,v), i与u的比i与j更亲近, u与i比u与v更亲近vector<int> b(n,0);for(int i=0;i<pairs.size();i++){b[pairs[i][0]]=pairs[i][1]; b[pairs[i][1]]=pairs[i][0];}int ans=0;for(int i=0;i<n;i++){for(int j=0;j<n;j++){// if(i!=j&&b[i]!=j){if(i!=j){int curI=b[i];int curJ=b[j];if(a[i][j]<a[i][curI]&&a[j][i]<a[j][curJ]){ans++;break;}// }}}}return ans;}
};

3. 连接所有点的最小费用 

给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。

连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。

请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。

示例1: 

输入:points = [[0,0],[2,2],[3,10],[5,2],[7,0]]

输出:20

示例2: 

输入:points = [[3,12],[-2,5],[-4,1]]

输出:18

提示:

  • 1 <= points.length <= 1000
  • -106 <= xi, yi <= 106
  • 所有点 (xi, yi) 两两不同。

解题思路: 题目就是让你构建一个最小生成树,返回最小总费用。构建最小生成树, 我们可以使用Prim 算法,   时间复杂度为O(n^2)

简单解释一下, Prim算法是图论中在构建最小生成树时用到的方法

Prim 算法
设N={V,E} 是连通网, TE是N上最小生成树中边的集合        {a,b} a 代表点, b代表边 -> 属于
1. 初始令U={u0},{u0->V},TE={ }
2. 在所有u->U, v->V-U的边(u,v)->E中,找一条代价最小的边(u0,v0). 注: 就是权值最小的边
3. 将(u0,v0) 这条边并入集合 TE, 同时 v0这个点并入U
4. 重复上述操作直至U=V为止, 则T=(V,TE) 为N 的最小生成树  (意思就是把所有的点都选进集合U, 所以前面写的是U=V)

通俗解释:在U集合中选一个点和在U-V集合中选一个点, 使得这个权值的最小, 然后把弧上的顶点加入到集合U中, 直到U=T集合,得到的连通图就是最小生成树,前提是不能成环

class Solution {struct Close {int date;int wed;};
public:void Prim(vector<vector<int>>& graph, int v, vector<Close>& clos, int& totalCost) {int n = graph.size();for (int i = 0; i < n; i++) {clos[i].date = v;clos[i].wed = graph[v][i];}clos[v].wed = 0;for (int i = 1; i < n; i++) {int k = -1;int minW = INT_MAX;for (int j = 0; j < n; j++) {if (clos[j].wed != 0 && clos[j].wed < minW) {minW = clos[j].wed;k = j;}}//if (k == -1) break; // 图不连通totalCost += clos[k].wed;clos[k].wed = 0;for (int j = 0; j < n; j++) {if (graph[k][j] < clos[j].wed) {clos[j].date = k;clos[j].wed = graph[k][j];}}}}int minCostConnectPoints(vector<vector<int>>& points) {int n = points.size();vector<vector<int>> graph(n, vector<int>(n, INT_MAX)); //构建邻接矩阵for (int i = 0; i < n; i++) {for (int j = i + 1; j < n; j++) {int w = abs(points[i][0] - points[j][0]) + abs(points[i][1] - points[j][1]);graph[i][j] = w;graph[j][i] = w;}}vector<Close> clos(n);int totalCost = 0;Prim(graph, 0, clos, totalCost);return totalCost;}
};//points[i]=[Xi,Yi] 表示一个坐标
//连接点 [xi, yi] 和点 [xj, yj] 的费用为|xi - xj| + |yi - yj|
//返回构建最小生成树所需要的最小费用

4.检查字符串是否可以通过排序子字符串得到另一个字符串 

 给你两个字符串 s 和 t ,请你通过若干次以下操作将字符串 s 转化成字符串 t :

  • 选择 s 中一个 非空 子字符串并将它包含的字符就地 升序 排序。

比方说,对下划线所示的子字符串进行操作可以由 "14234" 得到 "12344" 。

如果可以将字符串 s 变成 t ,返回 true 。否则,返回 false 。

一个 子字符串 定义为一个字符串中连续的若干字符。

示例 1:

输入:s = "84532", t = "34852"
输出:true
解释:你可以按以下操作将 s 转变为 t :
"84532" (从下标 2 到下标 3)-> "84352"
"84352" (从下标 0 到下标 2) -> "34852"

示例 2:

输入:s = "34521", t = "23415"
输出:true
解释:你可以按以下操作将 s 转变为 t :
"34521" -> "23451"
"23451" -> "23415"

示例 3:

输入:s = "12345", t = "12435"
输出:false

示例 4:

输入:s = "1", t = "2"
输出:false

提示:

  • s.length == t.length
  • 1 <= s.length <= 105
  • s 和 t 都只包含数字字符,即 '0' 到 '9' 。

解题思路: 看示例3, 34 是不能通过排序得到43的,本题是一个贪心, 在实现上我们用一个前缀数组perfix去维护前j个元素中各个字符['0'-'9']出现的次数, 然后依次取出t中的各个字符, 对应到s中, 如果 S 中某个字符 c 前面有比 c(t中) 小的字符尚未被处理,则无法通过排序操作得到 t 

// s = "84532", t = "34852"
s = "12345", t = "12435"
//t中某个字符t[i], 在s中的位置pos,  前面有字符c没有被处理(cnt_current[c]==0),    
//如果 S 中某个字符 c 前面有比 c 小的字符尚未被处理,则无法通过排序操作得到 t    
class Solution {
public:bool isTransformable(string s, string t) {int n = s.size();vector<int> cnt_s(10, 0), cnt_t(10, 0); //统计每个字符出现的频率for (char c : s) cnt_s[c - '0']++;for (char c : t) cnt_t[c - '0']++;if (cnt_s != cnt_t) return false;      //没有继续判断的必要了vector<vector<int>> prefix(n + 1, vector<int>(10, 0));  //统计任意前 j 个字符中各字符的出现次数//prefix[i+1][d]/prefix[i][d]for (int i = 0; i < n; i++) {int c = s[i] - '0';for (int d = 0; d < 10; d++) {prefix[i + 1][d] = prefix[i][d];}prefix[i + 1][c]++;}vector<queue<int>> pos(10); //每个字符维护一个队列, 记录(每个字符)在s中出现的位置for (int i = 0; i < n; i++) {int c = s[i] - '0';pos[c].push(i);}vector<int> cnt_current(10, 0);for (int i = 0; i < n; i++) {int c = t[i] - '0';if (pos[c].empty()) return false;int j = pos[c].front();   //对于 t 中的每个字符 c,从 pos[c] 中取出它在 s 中的最早出现位置 jpos[c].pop();for (int d = 0; d < c; d++) {if (prefix[j][d] > cnt_current[d]) {return false;}}cnt_current[c]++;}return true;}
};

对比现在的周赛, 题目的难度确实提升了不少,  对题目/代码有疑问, 可以发布到评论区, 感谢!

相关文章:

力扣第206场周赛

周赛链接&#xff1a;竞赛 - 力扣&#xff08;LeetCode&#xff09;全球极客挚爱的技术成长平台​​​​​​ 1. 二进制矩阵中的特殊位置 给定一个 m x n 的二进制矩阵 mat&#xff0c;返回矩阵 mat 中特殊位置的数量。 如果位置 (i, j) 满足 mat[i][j] 1 并且行 i 与列 j 中…...

C++17 主要更新

C17 主要更新 C17 是继 C14 之后的重要标准更新&#xff0c;引入了许多提升开发效率、简化代码和增强性能的特性。以下是 C17 的主要更新&#xff0c;按类别分类&#xff1a; 1. 语言核心特性 结构化绑定&#xff08;Structured Bindings&#xff09; 解构元组、结构体或数组…...

k8s master节点部署

一、环境准备 1.主机准备 192.168.10.100 master.com master 192.168.10.101 node1.com node1 192.168.10.102 node2.com node2 互信 时间同步 关闭防火墙 关闭selinux 2.创建/etc/sysctl.d/k8s.conf,添加如下内容 cat > /etc/sysctl.d/k8s.conf <<EOF net.br…...

YOLO学习笔记 | YOLOv8 全流程训练步骤详解(2025年4月更新)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 这里写自定义目录标题 一、数据准备1. 数据标注与格式转换2. 配置文件生…...

centos7.9 升级 gcc

本片文章介绍如何升级gcc&#xff0c;centos7.9 仓库默认的gcc版本为&#xff1a;4.8.5 4.8.5-44) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY…...

Linux基本指令

Linux目录结构 Linux的目录结构是一个树形结构。Windows系统可以拥有多个盘符&#xff0c;如C盘、D盘、E盘。而Linux没有盘符这个概念&#xff0c;只有一个根目录/,所有文件都在它下面。如下图所示&#xff1a; Linux路径的描述方式 在Linux系统中&#xff0c;路径之间的层级…...

Google A2A协议,是为了战略性占领标准?

一、导读 2025 年 4 月 9 日&#xff0c;Google 正式发布了 Agent2Agent&#xff08;A2A&#xff09;协议。 A2A 协议致力于打破智能体之间的隔阂&#xff0c;让它们能够跨越框架和供应商的限制&#xff0c;以一种标准化、开放的方式进行沟通与协作 截止到现在&#xff0c;代…...

每日一题(小白)暴力娱乐篇29

题目比较简单&#xff0c;主要是判断条件这块&#xff0c;一定要注意在奇数的位置和偶数的位置标记&#xff0c;若奇数位为奇数偶数位为偶数才能计数加一&#xff0c;否则都是跳过。 ①接收数据n ②循环n次&#xff0c;拆解n&#xff0c;每次拆解记录ans ③拆解n为若干次x&a…...

瀚天天成闯港交所上市:业绩波动明显,十分依赖少数客户和供应商

撰稿|张君 来源|贝多财经 近日&#xff0c;瀚天天成电子科技&#xff08;厦门&#xff09;股份有限公司&#xff08;下称“瀚天天成”&#xff09;递交招股书&#xff0c;报考港交所主板上市。据贝多财经了解&#xff0c;瀚天天成曾计划在上海证券交易所科创板上市&#xff0…...

全国产压力传感器常见的故障有哪些?

全国产压力传感器常见的故障如哪些呢&#xff1f;来和武汉利又德的小编一起了解一下&#xff0c;主要包括以下几类&#xff1a; 零点漂移 表现&#xff1a;在没有施加压力或处于初始状态时&#xff0c;传感器的输出值偏离了设定的零点。例如&#xff0c;压力为零时&#xff0c…...

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet

计算机视觉卷积神经网络&#xff08;CNN&#xff09;基础&#xff1a;从LeNet到ResNet 一、前言二、卷积神经网络基础概念​2.1 卷积层​2.1.1 卷积运算原理​2.1.2 卷积核的作用与参数​ 2.2 池化层​2.2.1 最大池化与平均池化​2.2.2 池化层的优势与应用​ 2.3 全连接层​2.3…...

在封装DLL时,避免第三方命名空间的依赖方法[PIMPL模式技术指南]

1. 概述 PIMPL(Pointer to IMPLementation)模式是C++中实现信息隐藏和二进制兼容性的重要设计范式,通过创建实现细节的私有封装层,有效隔离接口与实现。本文档详细阐述其核心原理、现代实现方式和典型应用场景。 2. 核心架构 2.1 经典结构 // 头文件(widget.h) class Wid…...

镜舟科技亮相 2025 中国移动云智算大会,展示数据湖仓一体创新方案

4月10-11日&#xff0c;2025 中国移动云智算大会在苏州金鸡湖国际会议中心成功举办。大会以“由云向智&#xff0c;共绘算网新生态”为主题&#xff0c;汇聚了众多行业领袖与技术专家&#xff0c;共同探讨了算力网络与人工智能的深度融合与未来发展趋势。 作为中国领先的企业级…...

通过Python实现定时重启H3C AP设备

一、背景 因为H3C的AP设备老化&#xff0c;网络出现高延迟、高丢包率&#xff0c;需要隔一段时间去重启AP后恢复。但是由于白天在使用无法进行重启&#xff0c;并且容易遗忘等用户反馈又太晚了&#xff0c;但是AC版本太老没有定时重启功能&#xff0c;于是通过Python做了自动重…...

火山RTC 4 音视频引擎 IRTCVideo,及 音视频引擎事件回调接口 IRTCVideoEventHandler

一、IRTCVideo、IRTCVideoEventHandler 音视频引擎 IRTCVideo&#xff0c;及 音视频引擎事件回调接口 IRTCVideoEventHandler 负责音视频管理、创建房间/获得房间实例 1、创建引擎、及事件回调示例 如&#xff1a; void VideoConfigWidget::initRTCVideo() {m_handler.res…...

Matlab 考虑电机激励力的整车垂向七自由度模型参数研究

1、内容简介 Matlab 201-考虑电机激励力的整车垂向七自由度模型参数研究 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

Matlab 三容水箱系统故障诊断算法研究

1、内容简介 Matlab 190-三容水箱系统故障诊断算法研究 可以交流、咨询、答疑 2、内容说明 略 其次&#xff0c;对 DTS200 三容水箱系统进行机理建模&#xff0c;可分为对象建模和故障 建模&#xff0c;搭建了水箱系统的 SIMULINK 模型并建立了基于 Taylor 展开及 T-…...

Mac学习使用全借鉴模式

Reference https://zhuanlan.zhihu.com/p/923417581.快捷键 macOS 的快捷键组合很多&#xff0c;相应的修饰键就多达 6 个&#xff08;Windows 系统级就 4 个&#xff09;&#xff1a; Command ⌘ Shift ⇧ Option ⌥ Control ⌃ Caps Lock ⇪ Fn 全屏/退出全屏 command con…...

Arrays.asList() 隐藏的陷阱

在Java中&#xff0c;我们经常需要将数组转换为List来方便地进行操作。Arrays.asList()方法是一种常见的方式&#xff0c;但是它存在一个不太常见但需要注意的坑。 本文将深入探讨Arrays.asList()的使用&#xff0c;揭示其中的陷阱&#xff0c;并提供解决方案。 1、Arrays.as…...

Cables 现已正式启动积分计划 Alpha 阶段,开放早期白名单申请

Cables 现已正式启动积分计划&#xff0c;并开放白名单抢先体验通道&#xff0c;这标志着 Cables 平台进入第一阶段的部署&#xff0c;旨在为外汇及现实世界资产&#xff08;RWAs&#xff09;构建首个集成的流动性质押与永续期货 DEX。 Cables 平台的设计目标是通过单一系统实…...

Spring Cloud 远程调用

4.OpenFeign的实现原理是什么&#xff1f; 在使用OpenFeign的时候&#xff0c;主要关心两个注解&#xff0c;EnableFeignClients和FeignClient。整体的流程分为以下几个部分&#xff1a; 启用Feign代理&#xff0c;通过在启动类上添加EnableFeignClients注解&#xff0c;开启F…...

STM32单片机中EXTI的工作原理

目录 1. EXTI概述 2. EXTI的组成部分 3. 工作原理 3.1 引脚配置 3.2 中断触发条件 3.3 中断使能 3.4 中断处理 4. 使用示例 5. 注意事项 结论 在STM32单片机中&#xff0c;EXTI&#xff08;外部中断&#xff09;是一种用于处理外部事件的机制&#xff0c;能够提高对硬…...

排序算法详细介绍对比及备考建议

文章目录 排序算法对比算法逐一介绍1. 冒泡排序&#xff08;Bubble Sort&#xff09;2. 选择排序&#xff08;Selection Sort&#xff09;3. 插入排序&#xff08;Insertion Sort&#xff09;4. 希尔排序&#xff08;Shell Sort&#xff09;5. 归并排序&#xff08;Merge Sort&…...

网页布局思路

一、布局思路 1&#xff0c;确定页面的版心(可视区) 2、分析页面中的行模块&#xff0c;以及每个行模块中的列模块。&#xff08;页面布局第一准则&#xff09; 3、一行中的列模块经常用浮动布局&#xff0c;先确定每个列的大小&#xff0c;之后确定列的位置&#xff08;页面…...

CloudFlare Page 如何和 GitHub 创建连接

CloudFlare Page 能够对前端项目进行构建。 他们能支持从 GitHub 上直接拉取代码。 如果 GitHub 上的代码仓库不存在的话&#xff0c;首先需要创建一个连接才可以。 随后会要求登录 GitHub&#xff0c;然后可以在希望访问的组织中进行选择。 随后同意访问赋予权限即可。 Clou…...

Python爬虫第13节-解析库pyquery 的使用

目录 前言 一、pyquery 初始化 1.1 字符串初始化 1.2 URL 初始化 1.3 文件初始化 二、基本 CSS 选择器 三、pyquery 查找节点 3.1 子节点 3.2 父节点 3.3 兄弟节点 四、遍历 五、获取信息 5.1 获取属性 5.2 获取文本 六、节点操作 6.1 addClass 和 removeClass…...

【学习笔记】头文件中定义函数出现重复定义报错

目录 错误复现原因解决方案inlinestatic 扩展参考 错误复现 现在有一个头文件 duplicate_define.h 和两个源文件 duplicate_define_1.cpp 和 duplicate_define_2.cpp。 两个源文件都引入了头文件 duplicate_define.h&#xff0c;且在各自的函数中调用了定义在头文件中的全局函…...

Java 中的零拷贝技术:提升性能的利器

Java 中的零拷贝技术&#xff1a;提升性能的利器 在现代高性能应用中&#xff0c;数据传输的效率至关重要。传统的 I/O 操作通常涉及多次数据拷贝&#xff0c;这会导致性能瓶颈。而零拷贝&#xff08;Zero-Copy&#xff09;技术通过减少数据拷贝次数&#xff0c;显著提升了 I/…...

JavaScript:基本语法

今天我要介绍的新知识点内容为&#xff1a;JavaScript的基本语法以及使用说明。 首先我们先了解一下JS&#xff08;JavaScript简称&#xff09;是什么以及怎么使用JS&#xff1a; 介绍&#xff1a;JavaScript(JS)是一门弱类型的语言&#xff0c;用于给HTML页面上添加动态效果…...

Matlab 三维时频图

1、内容简介 Matlab 202-三维时频图 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

MySQL中动态生成SQL语句去掉所有字段的空格

在MySQL中动态生成SQL语句去掉所有字段的空格 在数据库管理过程中&#xff0c;我们常常会遇到需要对表中字段进行清洗和整理的情况。其中&#xff0c;去掉字段中的空格是一项常见的操作。当表中的字段数量较少时&#xff0c;我们可以手动编写 UPDATE 语句来处理。但如果表中包…...

NO.91十六届蓝桥杯备战|图论基础-图的存储和遍历|邻接矩阵|vector|链式前向星(C++)

图的基本概念 图的定义 图G是由顶点集V和边集E组成&#xff0c;记为G (V, E)&#xff0c;其中V(G)表⽰图G中顶点的有限⾮空集&#xff1b;E(G)表⽰图G中顶点之间的关系&#xff08;边&#xff09;集合。若 V { v 1 , v 2 , … , v n } V \left\{ v_{1},v_{2},\dots,v_{n} …...

树、二叉树、二叉查找树、AVL 树及红黑树的深入解析

树、二叉树、二叉查找树、AVL 树及红黑树的深入解析 1 .树的基本知识1.1 树的定义1.2 基本术语和概念1.3 常见树的结构1.4 树的遍历&#xff08;取决于什么时候访问根节点&#xff09; 2 二叉树2.1 二叉树的定义2.2二叉树与度为2的树的区别2.3二叉树的性质2.4 二叉树分类 3 红黑…...

BUUCTF-web刷题篇(21)

30.hark world 判断注入类型&#xff1a; 输入1报错提示bool&#xff08;false&#xff09;可知是字符型的布尔注入&#xff08;盲注&#xff09; 尝试万能密码 1 or 11 已检测SQL注入&#xff0c;猜测某些关键词或者字符被过滤。 使用FUZZ字典爆破...

Linux 网络基础知识总结

Linux 网络基础知识总结 1. 计算机网络体系结构 • OSI七层模型 由国际化标准组织&#xff08;ISO&#xff09;制定&#xff0c;将网络通信分为七层&#xff1a; • 物理层&#xff1a;比特流传输&#xff08;如网线、光纤&#xff09;。 • 数据链路层&#xff1a;帧传输&am…...

Day 8 上篇:深入理解 Linux 驱动模型中的平台驱动与总线驱动

在 Linux 内核驱动模型中&#xff0c;设备与驱动的组织方式不是随意堆砌&#xff0c;而是基于清晰的分类逻辑进行架构设计的。最核心的架构基础是“设备模型”&#xff08;Device Model&#xff09;&#xff0c;而在此模型之上&#xff0c;各类驱动通过“平台驱动模型”与“总线…...

如何启动spark

解决&#xff1a;spark的bin目录下&#xff0c;无法启动spark问题 [roothadoop7 sbin]# ./start-all.sh ./start-all.sh:行29: /root/install/spark-2.4.0-bin-hadoop2.7/sbin/spark-config.sh: 没有那个文件或目录 ./start-all.sh:行32: /root/install/spark-2.4.0-bin-hadoo…...

Java网络编程干货

1.网络编程是什么 了解 在Java语言中&#xff0c;我们可以使用java.net包下的技术轻松开发出常见的网络应用程序&#xff0c;从而把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统&#x…...

Java实现安卓手机模拟操作

文章目录 第一部分&#xff1a;安卓模拟操作基础1.1 安卓输入系统概述1.1.1 输入事件传递机制1.1.2 输入事件类型 1.2 模拟操作的核心类1.2.1 Instrumentation类1.2.2 KeyEvent类1.2.3 MotionEvent类 1.3 权限要求1.3.1 普通权限1.3.2 特殊权限 第二部分&#xff1a;基础模拟操…...

一文讲清楚PLC、运动控制卡、运动控制器

随着工业技术的发展&#xff0c;工业机器人应用越来越广泛&#xff0c;PLC也不再是简单的可编程逻辑控制器&#xff0c;各个品牌厂家都推出了自己的运动控制型PLC&#xff0c;来实现一些运动控制功能&#xff0c;与此同时&#xff0c;运动控制卡及运动控制器也在如火如荼地发展…...

蓝桥杯备战

#include<bits/stdc.h> using namespace std; int main(){ios::sync_with_stdio(false);cin.tie(0);return 0; } 输入输出加速 ios::sync_with_stdio(false) 作用&#xff1a; 禁用 C 和 C 标准流的同步&#xff0c;使 cin/cout 速度接近 scanf/printf。 适用性&#xff…...

python保留关键字详解

一、什么是保留关键字&#xff1f; 保留关键字是Python语言中具有特殊含义和功能的词汇&#xff0c;这些词汇构成了Python的语法基础。它们不可被重新定义或用作变量名、函数名等标识符&#xff0c;在代码中承担着控制程序逻辑、定义数据结构等重要职责。 二、查看保留关键字…...

NLP中的“触发器”形式

在自然语言处理&#xff08;NLP&#xff09;中&#xff0c;触发器的设计更加依赖于文本特征&#xff0c;而非视觉特征。以下是NLP中常见的触发器类型及其实现方式&#xff1a; 1. 特定词汇或短语 定义&#xff1a;在文本中插入特定的单词、短语或符号。示例&#xff1a; 罕见…...

uView修改样式(持续更新)

场景 通过样式穿透修改uView2.0组件样式&#xff0c;用于app 注意版本不一样方法可能不同 实现 通用 .uni-body{line-height: 0; }u-input ::v-deep .u-input{height: 20.51rpx !important;padding: 0 6.59rpx !important; } ::v-deep .uni-input-input{height:50%;font-s…...

使用 Datadog 和 Slack Alerts 监控 AWS EC2

监控是大多数 IT 专业人员的关键职责之一。如果您最近正在寻找新工作&#xff0c;您可能已经注意到“监控”一词几乎出现在许多组织发布的每份职位描述中。 您可以找到各种监控工具&#xff0c;它们提供一些卓越的功能来简化您的工程工作。然而&#xff0c;Datadog 是大多数组…...

grafana/loki 部署搜集 k8s 集群日志

grafana/loki 和 grafana/loki-stack 的区别 ​Grafana 提供了多个 Helm Chart 用于在 Kubernetes 集群中部署 Loki 及相关组件,其中主要包括 grafana/loki 和 grafana/loki-stack。​它们的主要区别如下:​ 1.grafana/loki Helm Chart: 专注于 Loki 部署: 该 Chart 专门…...

【ESP32S3】GATT Server service table传送数据到调试助手

前言 在初步学习esp32蓝牙的过程中&#xff0c;借鉴了官方的GATT Server Service Table Example&#xff0c;可以在readme中看到&#xff0c;此demo是采用低功耗蓝牙的通用属性服务器来创建订阅服务和特性。如果你接触过MQTT&#xff0c;你会发现GATT Server这一特性和MQTT的订…...

《Vue Router实战教程》5.嵌套路由

欢迎观看《Vue Router 实战&#xff08;第4版&#xff09;》视频课程 嵌套路由 一些应用程序的 UI 由多层嵌套的组件组成。在这种情况下&#xff0c;URL 的片段通常对应于特定的嵌套组件结构&#xff0c;例如&#xff1a; 通过 Vue Router&#xff0c;你可以使用嵌套路由配置…...

小白学习java第12天:IO流之转换流

我们可能会遇到这样情况就是&#xff1a;你在读取那个文件编码类型是GBK&#xff0c;而是进行读取的的时候使用的UTF-8&#xff0c;这就会导致乱码&#xff0c;因为你没办法保证别人是用什么类型进行编写的&#xff0c;因此我们就需要转换流进行处理这种情况&#xff01; 下面…...

BERT - 直接调用transformers.BertModel, BertTokenizerAPI不进行任何微调

本节代码将使用 transformers 库加载预训练的BERT模型和分词器&#xff08;Tokenizer&#xff09;&#xff0c;并处理文本输入。 1. 加载预训练模型和分词器 from transformers import BertTokenizer, BertModelmodel_path "/Users/azen/Desktop/llm/models/bert-base-…...