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

C++学习——顺序表(六)

文章目录

  • 前言
  • 一、找到数组的中间位置
  • 二、有序数组中的单一元素
  • 三、杨辉三角(Ⅱ)
  • 四、超过阈值的最小操作数Ⅰ
  • 五、找出峰值
  • 六、统计已测试设备
  • 七、统计和小于目标的下标对数目
    • 1.单向遍历法
    • 2.双指针法(时间复杂度小)
  • 八、计算K置位下标元素的和
  • 九、数组能形成多少数对
  • 十、求出现两次数字的XOR值


前言

本文为《C++学习》的第篇文章,今天是顺序表的最后一篇总结,通过leetcode来练习顺序表的枚举。


一、找到数组的中间位置

1991.找到数组的中间位置

class Solution {
public:int findMiddleIndex(vector<int>& nums) {int totalSum = 0;for (int num : nums) {totalSum += num;}int leftSum = 0;for (int i = 0; i < nums.size(); ++i) {int rightSum = totalSum - leftSum - nums[i];if (leftSum == rightSum) {return i;}leftSum += nums[i];}return -1;}
};

二、有序数组中的单一元素

540.有序数组中的单一元素

class Solution {
public:int singleNonDuplicate(vector<int>& nums) {int left = 0; // 初始化左指针为数组的起始位置int right = nums.size() - 1; // 初始化右指针为数组的末尾位置while (left < right) { // 当左指针小于右指针时继续循环int mid = left + (right - left) / 2; // 计算中间位置// 确保 mid 是偶数,以便进行成对比较if (mid % 2 == 1) {mid--; // 如果 mid 是奇数,则将其减 1 变为偶数}if (nums[mid] == nums[mid + 1]) { // 检查 mid 和 mid+1 是否相等left = mid + 2; // 如果相等,说明唯一的元素在右半部分,更新左指针为 mid + 2} else {right = mid; // 如果不相等,说明唯一的元素在左半部分或就是 mid,更新右指针为 mid}}return nums[left]; // 返回左指针指向的元素,即为唯一出现一次的元素}
};

三、杨辉三角(Ⅱ)

119.杨辉三角(Ⅱ)

class Solution {
public:vector<int> getRow(int rowIndex) {vector<int> row(rowIndex + 1, 0); // 初始化结果数组,大小为 rowIndex + 1,初始值为 0row[0] = 1; // 第一行的第一个元素总是 1for (int i = 1; i <= rowIndex; ++i) { // 从第二行开始构建每一行for (int j = i; j > 0; --j) { // 从后向前更新当前行的元素row[j] += row[j - 1]; // 每个元素等于其上方和左上方元素之和}}return row; // 返回构建好的第 rowIndex 行}
};

四、超过阈值的最小操作数Ⅰ

3065.超过阈值的最小操作数Ⅰ

class Solution {
public:int minOperations(vector<int>& nums, int k) {int operations = 0; // 初始化操作次数为 0for (int num : nums) { // 遍历数组中的每个元素if (num < k) { // 如果当前元素小于 koperations++; // 增加操作次数}}return operations; // 返回所需的操作次数}
};

五、找出峰值

2951.找出峰值

class Solution {
public:vector<int> findPeaks(vector<int>& mountain) {vector<int> peaks; // 初始化一个向量来存储峰值的下标for (int i = 1; i < mountain.size() - 1; ++i) { // 从第二个元素到倒数第二个元素遍历if (mountain[i] > mountain[i - 1] && mountain[i] > mountain[i + 1]) { // 检查是否为峰值peaks.push_back(i); // 如果是峰值,记录其下标}}return peaks; // 返回所有峰值的下标}
};

六、统计已测试设备

2960.统计已测试设备

class Solution {
public:int countTestedDevices(vector<int>& batteryPercentages) {int testedDevices = 0; // 初始化已测试设备的计数for (int i = 0; i < batteryPercentages.size(); ++i) {if (batteryPercentages[i] > 0) { // 检查当前设备的电池百分比是否大于 0testedDevices++; // 增加已测试设备的计数// 减少后续所有设备的电池百分比,确保不会低于 0for (int j = i + 1; j < batteryPercentages.size(); ++j) {batteryPercentages[j] = max(0, batteryPercentages[j] - 1);}}}return testedDevices; // 返回已测试设备的数量}
};

七、统计和小于目标的下标对数目

2824.统计和小于目标的下标对数目

1.单向遍历法

class Solution {
public:int countPairs(vector<int>& nums, int target) {int count = 0; // 初始化满足条件的下标对数量for (int i = 0; i < nums.size(); ++i) { // 外层循环遍历每个元素for (int j = i + 1; j < nums.size(); ++j) { // 内层循环遍历后续元素if (nums[i] + nums[j] < target) { // 检查当前两个元素之和是否小于目标值count++; // 如果是,则增加满足条件的下标对数量}}}return count; // 返回满足条件的下标对数量}
};

2.双指针法(时间复杂度小)

class Solution {
public:int countPairs(vector<int>& nums, int target) {sort(nums.begin(), nums.end()); // 对数组进行排序int left = 0; // 初始化左指针int right = nums.size() - 1; // 初始化右指针int count = 0; // 初始化满足条件的下标对数量while (left < right) { // 当左指针小于右指针时继续循环if (nums[left] + nums[right] < target) { // 检查当前左右指针所指元素之和是否小于目标值count += right - left; // 如果是,则增加满足条件的下标对数量left++; // 将左指针右移一位} else {right--; // 否则,将右指针左移一位}}return count; // 返回满足条件的下标对数量}
};

八、计算K置位下标元素的和

2859.计算K置位下标元素的和

class Solution {
public:int sumIndicesWithKSetBits(vector<int>& nums, int k) {int sum = 0; // 初始化结果和为 0for (int i = 0; i < nums.size(); ++i) { // 遍历每个下标if (__builtin_popcount(i) == k) { // 检查下标的二进制表示中是否有恰好 k 个置位sum += nums[i]; // 如果是,则将对应的 nums 元素加到结果和中}}return sum; // 返回结果和}
};

补充: 函数__builtin_popcount(i) == k
是 GCC 编译器提供的一个内置函数,用于计算一个无符号整数的二进制表示中 1 的数量。
手动计算如下:

int popcount(unsigned int x) {int count = 0;while (x) {count += x & 1; // 检查最低位是否为 1x >>= 1; // 右移一位}return count;
}

九、数组能形成多少数对

2341.数组能形成多少数对
哈希表

#include <unordered_map>
class Solution {
public:vector<int> numberOfPairs(vector<int>& nums) {unordered_map<int, int> countMap; // 哈希表用于统计每个整数出现的次数// 统计每个整数出现的次数for (int num : nums) {countMap[num]++;}int pairs = 0; // 形成的数对数目int remaining = 0; // 剩余的整数数目// 遍历哈希表,计算数对和剩余整数的数量for (const auto& entry : countMap) {int count = entry.second;pairs += count / 2; // 可以形成的数对数量remaining += count % 2; // 剩余的整数数量}return {pairs, remaining}; // 返回结果数组}
};

顺序表

#include <algorithm>
class Solution {
public:vector<int> numberOfPairs(vector<int>& nums) {sort(nums.begin(), nums.end()); // 对数组进行排序int pairs = 0; // 形成的数对数目int remaining = 0; // 剩余的整数数目int n = nums.size();for (int i = 0; i < n; ) {if (i + 1 < n && nums[i] == nums[i + 1]) { // 检查相邻元素是否相等pairs++; // 形成一个数对i += 2; // 跳过这两个元素} else {remaining++; // 当前元素计入剩余的整数数量i++;}}return {pairs, remaining}; // 返回结果数组}
};

十、求出现两次数字的XOR值

3158.求出现两次数字的XOR值
哈希表

#include<unordered_map>
class Solution {
public:int duplicateNumbersXOR(vector<int>& nums) {unordered_map<int, int> countMap; // 哈希表用于统计每个整数出现的次数// 统计每个整数出现的次数for (int num : nums) {countMap[num]++;}int xorValue = 0; // 存储出现两次的数字的按位 XOR 值// 遍历哈希表,计算出现两次的数字的按位 XOR 值for (const auto& entry : countMap) {if (entry.second == 2) { // 检查是否出现两次xorValue ^= entry.first; // 计算按位 XOR 值}}return xorValue; // 返回按位 XOR 值}
};

顺序表

#include<algorithm>
class Solution {
public:int duplicateNumbersXOR(vector<int>& nums) {sort(nums.begin(), nums.end()); // 对数组进行排序int xorValue = 0; // 存储出现两次的数字的按位 XOR 值int n = nums.size();for (int i = 0; i < n; ) {if (i + 1 < n && nums[i] == nums[i + 1]) { // 检查相邻元素是否相等xorValue ^= nums[i]; // 将该数字加入按位 XOR 运算中i += 2; // 跳过这两个元素} else {i++;}}return xorValue; // 返回按位 XOR 值}
};

这就是今天的全部内容了,谢谢大家的观看,不要忘了给一个免费的赞哦!

相关文章:

C++学习——顺序表(六)

文章目录 前言一、找到数组的中间位置二、有序数组中的单一元素三、杨辉三角&#xff08;Ⅱ&#xff09;四、超过阈值的最小操作数Ⅰ五、找出峰值六、统计已测试设备七、统计和小于目标的下标对数目1.单向遍历法2.双指针法&#xff08;时间复杂度小&#xff09; 八、计算K置位下…...

python迭代器生成器

迭代器生成器区别 通俗版概念 ​迭代器&#xff08;Iterator&#xff09;​ ​像“快递员送快递”​&#xff1a; 你有一个包裹清单&#xff08;比如Excel里的测试用例&#xff09;&#xff0c;快递员&#xff08;迭代器&#xff09;会按顺序一个一个送&#xff08;遍历&#x…...

Hive SQL 精进系列:字符串拼接的三种常用方式

Hive字符串拼接&#xff1a;三种常用方式深度剖析 目录 Hive字符串拼接&#xff1a;三种常用方式深度剖析引言一、简洁直观的||操作符1. 基础语法规则2. 丰富多样的示例展示3. 优势与局限分析 二、规范通用的CONCAT函数1. 全面的语法解析2. 生动的示例说明3. 优势与局限剖析 三…...

MATLAB—从入门到精通的第二天

在第一天的学习中&#xff0c;我们掌握了 MATLAB 的安装配置、基础语法、变量管理和运算符的使用。本文将深入讲解 控制结构&#xff08;嵌套 if、switch&#xff09;、循环类型 和 向量操作&#xff0c;帮助读者进一步掌握 MATLAB 的核心编程技能。 1. 条件语句进阶 1.1 嵌套…...

韦伯望远镜的拉格朗日点计算推导过程,包含MATLAB和python运动轨迹仿真代码

研究过程 起源与提出&#xff1a;1687 年牛顿提出 “三体问题”&#xff0c;旨在研究三个可视为质点的天体在相互之间万有引力作用下的运动规律&#xff0c;但因运动方程过于复杂&#xff0c;难以得到完全解。欧拉的贡献1&#xff1a;1767 年&#xff0c;瑞士数学家莱昂哈德・…...

【 现代后端架构演进:微服务设计与云原生】

现代后端架构演进&#xff1a;微服务设计与云原生 一、架构演进历程 1. 单体架构到分布式系统 单体架构瓶颈 典型问题&#xff1a;代码耦合&#xff08;代码行超百万级&#xff09;、扩展困难&#xff08;垂直扩容成本 > 1 0 5 >10^5 >105美元/节点&#xff09;、技术…...

[JAVASE] 注解

一. 注解是什么? 注解是一种为程序元素提供元数据的方法.注解就是为程序做特殊标记的. 二. java内置的注解 分别是: 作用在代码的注解是: Override - 检查该方法是否是重写方法。如果发现其父类&#xff0c;或者是引用的接口中并没有该方法时&#xff0c;会报编译错误。 De…...

热成像仪真不错

我挂在外面的网路设备箱 室内的机柜 室外的猫 所用型号为优利德UTi160S&#xff0c;显示模式为&#xff08;可见光与热成像&#xff09;融合模式。...

Vue-Virtual-Scroller虚拟滚动

前端优化不可不避的一谈之虚拟滚动&#xff1a;众所周知&#xff0c;滚动是直挺挺的往dom树加东西&#xff0c;如果滚太多滚到万级&#xff0c;渲染过多就会卡顿&#xff0c;而vue-virtual-scroll的灵活懒渲染就能解决这个问题 1&#xff0c;下载与配置 npm install --save v…...

Matlab:矩阵运算篇——矩阵

目录 1.定义 实例——创建矩阵 实例——创建复数矩阵 2.矩阵的生成 实例——M文件矩阵 2.利用文本创建 实例——创建生活用品矩阵 3.创建特殊矩阵 实例——生成特殊矩阵 4.矩阵元素的运算 1.矩阵元素的修改 实例——新矩阵的生成 2.矩阵的变维 实例——矩阵维度修…...

[Java]使用java进行JDBC编程

首先要从中央仓库下载api(类似驱动程序)&#xff0c;为了链接java和mysql 下载jar包&#xff0c;需要注意的是jar包的版本要和mysql保持一致 下面是新建文件夹lib&#xff0c;把jar包放进去&#xff0c;并添加为库 sql固定的情况下运行 import com.mysql.cj.jdbc.MysqlDataSo…...

HippoRAG 2 原理精读

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 整体流程离线索引阶段在线检索和问答阶段 总结 整体流程 从上图可以看出&#xff0c;整个流程分为两个阶段 1、离线索引阶段 2、在线检索和问答阶段 离线索引阶段…...

HTTPS协议原理:在Linux世界里的加密冒险

大家好&#xff0c;欢迎来到这次奇妙的HTTPS协议探险之旅&#xff01;今天&#xff0c;我们将一起潜入Linux的深处&#xff0c;揭开HTTPS协议那神秘而迷人的面纱。别担心&#xff0c;即使你是技术小白&#xff0c;也能在这场冒险中找到乐趣和收获。想象一下&#xff0c;你是一位…...

Spring Boot启动流程及源码实现深度解析

Spring Boot启动流程及源码实现深度解析 一、启动流程概述 Spring Boot的启动流程围绕SpringApplication类展开&#xff0c;核心流程可分为以下几个阶段&#xff1a; 初始化阶段&#xff1a;推断应用类型&#xff0c;加载ApplicationContextInitializer和ApplicationListene…...

使用pip在Windows机器上安装Open Webui,配合Ollama调用本地大模型

之前的文章分享过在 linux 服务器上安装&#xff0c;并使用Open-webui 来实现从页面上访问本地大模型的访问。也写了文章分享了我在家里 Windows Server 台式机上安装 Ollama 部署本地大模型&#xff0c;并分别使用 Chatbox 和 CherryStudio 来访问本地的大模型。今天我来分享一…...

go map的声明和使用

1.简介 map是key-value数据结构&#xff0c;又称为字段或者关联数据。类似其他语言的集合&#xff0c;map在go中是引用类型&#xff0c;必须初始化才能使用。 2.语法 map[keytype]valuetype keytype:表示间的类型。可以是基本数据类型&#xff0c;还可以是指针、channl等。…...

word毕业论文“et al.”替换为“等”——宏

Sub 中文参考文献改等()中文参考文献改等 宏Selection.Find.ClearFormattingSelection.Find.Replacement.ClearFormattingWith Selection.Find.Text "([一-龥], )et al.".Replacement.Text "\1等.".Forward True.Wrap wdFindContinue.Format False.Ma…...

23. 观察者模式

原文地址: 观察者模式 更多内容请关注&#xff1a;智想天开 1. 观察者模式简介 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型设计模式&#xff0c;用于建立对象之间的一种一对多的依赖关系。当一个对象的状态发生变化时&#xff0c;所有依赖于它的对象都…...

go的”ambiguous import in multiple modules”

执行“go mod tidy”报如下错误&#xff1a; go mod tidy -compat1.17 go: finding module for package github.com/gomooon/goredis go: found github.com/gomooon/goredis in github.com/gomooon/goredis v0.3.5 go: github.com/gomooon/core importsgithub.com/gomooon/gor…...

【鸿蒙开发】MongoDB入门

https://www.mongodb.com/try/download/community 下载MongoDB: var mongoose require("mongoose");// localhost 域名&#xff0c;代表本机 // 127.0.0.1 ip , 代码本机 mongoose.connect("mongodb://localhost:27017/jiaju").then(() > {console.l…...

【应用篇】MLU上deepseek/QwQ-32B+dify实现workflow应用

文章目录 前言一、平台环境选择二、创建容器应用三、启动服务1.下载deepseekR1-14B模型2.VLLM启动服务3.postman测试服务 四、workflow搭建1.搭建第一个工作流2.详细配置 五、效果演示 前言 本章主要讲解如何用paas平台&#xff0c;实现智能体应用 本章中大模型我们使用deeps…...

vue组件库el-menu导航菜单设置index,地址不会变更的问题

请先确认 1.路由已配置好 route-index.js如下&#xff0c; 2.view-ProHome.vue中已预留路由展示位 3.导航菜单复制组件库&#xff0c;并做修改 其中index与路由配置的地址一致 运行后发现点击菜单&#xff0c;url地址还是不变&#xff0c;查看组件库 Element - The worlds …...

防抖和节流

防抖&#xff08;Debounce&#xff09;和节流&#xff08;Throttle&#xff09;是前端开发中常用的两种性能优化技术&#xff0c;主要用于控制高频事件的触发频率&#xff0c;避免不必要的性能消耗。 1. 防抖&#xff08;Debounce&#xff09; 防抖的核心思想&#xff1a;在事…...

Deepseek可以通过多种方式帮助CAD加速工作

自动化操作&#xff1a;通过Deepseek的AI能力&#xff0c;可以编写脚本来自动化重复性任务。例如&#xff0c;使用Python脚本调用Deepseek API&#xff0c;在CAD中实现自动化操作。 插件开发&#xff1a;结合Deepseek进行二次开发&#xff0c;可以创建自定义的CAD插件。例如&a…...

基于Spring Boot的宠物猫认养系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

开源!速度100Kb/s的有线和无线双模ESP32S3芯片的DAP-Link调试器

开源&#xff01;速度100Kb/s的有线和无线双模ESP32S3芯片的DAP-Link调试器 目录 开源&#xff01;速度100Kb/s的有线和无线双模ESP32S3芯片的DAP-Link调试器本项目未经授权&#xff0c;禁止商用&#xff01;本项目未经授权&#xff0c;禁止商用&#xff01;本项目未经授权&…...

Vue3 模板引用:打破数据驱动的次元壁(附高阶玩法)

在数据驱动的Vue世界中&#xff0c;模板引用&#xff08;Template Refs&#xff09;是我们与真实DOM对话的秘密通道。本文将带你深入理解这个"逃生舱"的正确打开方式&#xff0c;并分享实战中的高阶技巧。 一、基础入门&#xff1a;建立DOM连接 1. 创建模板引用 &…...

第五天 Labview数据记录(5.5 SQL数据库读写)

5.5 SQL数据库读写 SQL 数据库读写操作是现代软件开发、数据分析和企业信息系统的核心功能。其意义不仅体现在技术层面&#xff0c;还涉及到业务流程优化、数据管理、决策支持等多个方面。以下是 SQL 数据库读写操作的重要意义&#xff1a;1. 数据存储与管理&#xff1b;2. 支…...

微信小程序项目引入图片问题:Error: module ‘assets/img/topImg.jpg.js‘ is not defined

问题与处理策略 问题描述 在微信小程序项目中&#xff0c;通过 require 引入图片文件&#xff0c;报如下错误 Error: module assets/img/topImg.jpg.js is not defined, require args is ../../assets/img/topImg.jpg# 翻译错误&#xff1a;未定义模块“assets/img/topImg.…...

02C#基本结构篇(D4_注释-访问修饰符-标识符-关键字-运算符-流程控制语句)

目录 一、注释 1. 单行注释 2. 多行注释 3. XML文档注释 4. 使用建议和最佳实践&#xff1a; 二、访问修饰符 1. public 2. private 3. protected 4. internal 5. protected internal 或 protected and internal 6. private protected 或 private and protected 7.…...

Python:正则表达式

正则表达式的基础和应用 一、正则表达式核心语法&#xff08;四大基石&#xff09; 1. ​元字符&#xff08;特殊符号&#xff09;​ ​定位符 ^&#xff1a;匹配字符串开始位置 $&#xff1a;匹配字符串结束位置 \b&#xff1a;匹配单词边界​&#xff08;如 \bword\b 匹配…...

ChatGPT4.5详细介绍和API调用详细教程

OpenAI在2月27日发布GPT-4.5的研究预览版——这是迄今为止OpenAI最强大、最出色的聊天模型。GPT-4.5在扩大预训练和微调规模方面迈出了重要的一步。通过扩大无监督学习的规模&#xff0c;GPT-4.5提升了识别内容中的模式、建立内容关联和生成对于内容的见解的能力&#xff0c;但…...

linux makefile tutorial

一个makefile的教程&#xff0c;几个小时就能看完&#xff0c;对makefile有个总体加细节的系统了解&#xff0c;非常不错&#xff1a; Learn Makefiles With the tastiest examples 中文翻译版&#xff1a; 起步 - Makefile 教程 (gavinliu6.github.io) gcc官网手册&#x…...

学习C2CRS Ⅲ (Response Generation Module)

代码地址:https://github.com/RUCAIBox/WSDM2022-C2CRS 论文地址:https://arxiv.org/abs/2201.02732 CFSelectionConvModel模型结构与功能 CFSelectionConvModel 是一个用于对话推荐系统的端到端模型,结合了知识图谱(KG)、评论信息和对话上下文来生成对话响应。它通过以…...

SpringBoot全栈开发:从数据库到Markdown文件导出的终极实践指南

一、SpringBoot后端核心实现 1.1 数据库数据转MD文件 通过SpringBoot实现数据库内容导出为Markdown文件&#xff0c;是文档自动化生成的关键技术&#xff1a; GetMapping("/download") public void exportMd(HttpServletResponse response, Integer id) {Content …...

go函数详解

1.简介 函数是组织好的、可重复使用的&#xff0c;用于执行指定任务的代码块&#xff0c;为了完成某一个功能的程序指令的集合&#xff0c;称为函数。go语言中支持&#xff1a;函数、匿名函数和闭包。 2.函数的定义 func 函数名 (形参列表) (返回值列表){ 函数体 return …...

MVCC实现原理

一、引言 在现代数据库管理系统中&#xff0c;数据的一致性和并发性是两个至关重要的特性。传统的锁机制虽然有效&#xff0c;但也存在着性能瓶颈&#xff0c;特别是在高并发环境下&#xff0c;锁的争用会导致系统响应时间变慢&#xff0c;甚至引发死锁等问题。为了克服这些挑…...

通过Golang的container/list实现LRU缓存算法

文章目录 力扣&#xff1a;146. LRU 缓存主要结构 List 和 Element常用方法1. 初始化链表2. 插入元素3. 删除元素4. 遍历链表5. 获取链表长度使用场景注意事项 源代码阅读 在 Go 语言中&#xff0c;container/list 包提供了一个双向链表的实现。链表是一种常见的数据结构&#…...

网络编程7天学java

* 网络编程&#xff1a;两台或两台以上的主机构成一个网络 * IP地址&#xff1a;标志网络中的一个通信实体的地址 * 端口号&#xff1a;区分不同应用程序 * 网络通信协议&#xff1a;ISO参考模型&#xff08;7层&#xff09;&#xff0c;TCP/IP协议&#xff08;4层&#xff09;…...

在 IntelliJ IDEA 中配置 Git

1. 确保已安装 Git 在配置之前&#xff0c;确保你的系统已经安装了 Git。 检查是否已安装 Git&#xff1a; bash 复制 git --version 如果未安装&#xff0c;请前往 Git 官网 下载并安装。 2. 在 IntelliJ IDEA 中配置 Git 打开 IntelliJ IDEA。 进入设置&#xff1a; Windo…...

【Godot4.4】Rect2总结

概述 Rect2是2D场景中比较重要的一种数据类型。 Rect2的本质含义是2D场景的轴对齐包围盒&#xff0c;而不是可以自由变换的矩形。 Rect2提供了一些方法&#xff0c;可以方便的判断Rect2之间是否重叠、包含等&#xff0c;并可以获得重叠的区域。也可以获得两个Rect2的包围盒。…...

git使用命令总结

文章目录 Git 复制创建提交步骤Git 全局设置:创建 git 仓库:已有仓库? 遇到问题解决办法&#xff1a;问题一先git pull一下&#xff0c;具体流程为以下几步&#xff1a; 详细步骤 Git 复制 git clone -b RobotModelSetting/develop https://gitlab.123/PROJECT/123.git创建提…...

Unity DOTS从入门到精通之 C# Job System

文章目录 前言安装 DOTS 包C# 任务系统Mono 环境DOTS 环境运行作业NativeContainer 前言 作为 DOTS 教程&#xff0c;我们将创建一个旋转立方体的简单程序&#xff0c;并将传统的 Unity 设计转换为 DOTS 设计。 Unity 2022.3.52f1Entities 1.3.10 安装 DOTS 包 要安装 DOTS…...

linux下的网络抓包(tcpdump)介绍

linux下的网络抓包[tcpdump]介绍 前言tcpdump1. 安装 tcpdump2. 基本抓包命令3. 过滤器使用4. 保存捕获的数据包 异常指标1. 连接建立与断开相关指标异常 SYN 包异常 FIN 或 RST 包 2. 流量相关指标异常流量峰值异常源或目的 IP 流量 3. 端口相关指标异常端口使用端口扫描 4. 数…...

深入理解 Linux 中的 -h 选项:让命令输出更“人性化”

在 Linux 系统中&#xff0c;命令行工具是系统管理员和普通用户最常用的交互方式之一。然而&#xff0c;命令行输出往往充满了技术性术语和数字&#xff0c;对于初学者或非技术用户来说可能显得晦涩难懂。幸运的是&#xff0c;许多 Linux 命令都提供了一个非常实用的选项&#…...

selenium的鼠标操作

1、鼠标操作 鼠标时间对应的方法在那个类中&#xff1f; ​ ActionChains类,实例化 鼠标对象 1、context_click(element) # 右击 2、double_click(element) #双击 3、double_and_drop(source, target) # 拖拽 4、move_to_element(element) # 悬停 【重点】 5、perform() …...

STM32——GPIO介绍

GPIO(General-Purpose IO ports,通用输入/输出接口)模块是STM32的外设接口的核心部分,用于感知外界信号(输入模式)和控制外部设备(输出模式),支持多种工作模式和配置选项。 1、GPIO 基本结构 STM32F407 的每个 GPIO 引脚均可独立配置,主要特性包括: 9 组 GPIO 端口…...

Word 小黑第15套

对应大猫16 修改样式集 导航 -查找 第一章标题不显示 再选中文字 点击标题一 修改标题格式 格式 -段落 -换行和分页 勾选与下段同页 添加脚注 &#xff08;脚注默认位于底部 &#xff09;在脚注插入文档属性&#xff1a; -插入 -文档部件 -域 类别选择文档信息&#xff0c;域…...

linux自启动服务

在Linux环境中&#xff0c;systemd是一个系统和服务管理器&#xff0c;它为每个服务使用.service文件进行配置。systemctl是用于控制系统服务的主要工具。本文将详细介绍如何使用systemctl来管理vsftpd服务&#xff0c;以及如何设置服务自启动。 使用Systemd设置自启动服务 创…...

react使用拖拽,缩放组件,采用react-rnd解决 -完整版

屏幕录制2025-03-10 10.16.06 以下代码仅提供左侧可视化区域 右侧数据根据你们的存储数据来 大家直接看Rnd标签设置的属性即可&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; /*** 用户拖拽水印的最终位置信息*/ export interface ProductWatermarkValue {wat…...