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

leetcode-哈希表

哈希表

127. 单词接龙

题目

字典 wordList 中从单词 beginWordendWord转换序列 是一个按下述规格形成的序列 beginWord -> s(1) -> s(2) -> ... -> s(k)

  • 每一对相邻的单词只差一个字母。

  • 对于 1 <= i <= k 时,每个 s(i) 都在 wordList 中。注意, beginWord 不需要在 wordList 中。

  • s(k) == endWord

给你两个单词 beginWordendWord 和一个字典 wordList ,返回 beginWord endWord 最短转换序列 中的 单词数目 。如果不存在这样的转换序列,返回 0

示例 1:
输入: beginWord = “hit”, endWord = “cog”, wordList = [“hot”,“dot”,“dog”,“lot”,“log”,“cog”] 输出: 5 解释: 一个最短转换序列是 “hit” -> “hot” -> “dot” -> “dog” -> “cog”, 返回它的长度 5。
示例 2:
输入: beginWord = “hit”, endWord = “cog”, wordList = [“hot”,“dot”,“dog”,“lot”,“log”] 输出: 0 解释: endWord “cog” 不在字典中,所以无法进行转换。

提示:

  • 1 <= beginWord.length <= 10

  • endWord.length == beginWord.length

  • 1 <= wordList.length <= 5000

  • wordList[i].length == beginWord.length

  • beginWordendWordwordList[i] 由小写英文字母组成

  • beginWord != endWord

  • wordList 中的所有字符串 互不相同

题解
/*** @param {string} beginWord* @param {string} endWord* @param {string[]} wordList* @return {number}*/
var ladderLength = function (beginWord, endWord, wordList) {if (beginWord === endWord) return 1let newSetWordList = new Set(wordList);let que = [];que.push([beginWord, 1])//第一次默认值,beginWord,默认长度1while (que.length) {for (var i = 0; i < que.length; i++) {let [newBeginWord, level] = que.shift()if (newBeginWord === endWord) {//相等时,返回长度return level}for (var w = 0; w < newBeginWord.length; w++) {//循环需要转换的字符串for (var j = 97; j <= 122; j++) {// 26个小写字母(ascii码   http://ascii.911cha.com/)let newStr = newBeginWord.slice(0, w) + String.fromCharCode(j) + newBeginWord.slice(w + 1)//hit -》 xit hxt hix  x代表26个小写字母 if (newSetWordList.has(newStr)) {que.push([newStr, level + 1]) //把转换后的newStr放到数组中,长度+1newSetWordList.delete(newStr)//匹配到删除}}}}}return 0;
};

140. 单词拆分 II

题目

给定一个字符串 s 和一个字符串字典 wordDict ,在字符串 s 中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序 返回所有这些可能的句子。
注意: 词典中的同一个单词可能在分段中被重复使用多次。

示例 1:
输入: s = “catsanddog”, wordDict = [“cat”,“cats”,“and”,“sand”,“dog”] 输出: [“cats and dog”,“cat sand dog”]
示例 2:
输入: s = “pineapplepenapple”, wordDict = [“apple”,“pen”,“applepen”,“pine”,“pineapple”] 输出: [“pine apple pen apple”,“pineapple pen apple”,“pine applepen apple”] 解释: 注意你可以重复使用字典中的单词。
示例 3:
输入: s = “catsandog”, wordDict = [“cats”,“dog”,“sand”,“and”,“cat”] 输出: []

提示:

  • 1 <= s.length <= 20

  • 1 <= wordDict.length <= 1000

  • 1 <= wordDict[i].length <= 10

  • swordDict[i] 仅有小写英文字母组成

  • wordDict 中所有字符串都 不同

题解
/*** @param {string} s* @param {string[]} wordDict* @return {string[]}*/
var wordBreak = function (s, wordDict) {const sIndex = s.length;const newWordDict = new Set(wordDict);//set 数据结构有has方法let hash = new Map();//存储循环过的从start截取i对应的数据function drt(start) {if (hash.has(start)) {//hash里有start,直接取对应的数据return hash.get(start);}if (start > sIndex - 1) {//start 最大值就是字符串最后一个索引 sIndex - 1return [[]];}let res = [];for (var i = start + 1; i <= sIndex; i++) {let str = s.slice(start, i);if (newWordDict.has(str)) {const items = drt(i);//循环把剩余字符串在newWordDict进行匹配,返回数组res [[string],]for (let item of items) {res.push([str].concat(item));}}hash.set(start, res);//存储从start开始截取,对应的res数据}return res;}return drt(0).map((item) => item.join(" "));// [[string,string],[string,string]]  变成 ["string string","string string"]
};

383. 赎金信

题目

给你两个字符串:ransomNotemagazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以,返回 true ;否则返回 false
magazine 中的每个字符只能在 ransomNote 中使用一次。

示例 1:
输入: ransomNote = “a”, magazine = “b” 输出: false
示例 2:
输入: ransomNote = “aa”, magazine = “ab” 输出: false
示例 3:
输入: ransomNote = “aa”, magazine = “aab” 输出: true

提示:

  • 1 <= ransomNote.length, magazine.length <= 10(5)

  • ransomNotemagazine 由小写英文字母组成

题解
/*** @param {string} ransomNote* @param {string} magazine* @return {boolean}*/
var canConstruct = function (ransomNote, magazine) {let wordMap = {}; // magazine字符每个字母出现次数let i = 0,j = 0;// 统计 magazine字符26个字母出现次数while (i < magazine.length) {const key = magazine[i];const wordNum = wordMap[key];wordMap[key] = wordNum ? wordNum + 1 : 1;i++;}// 循环ransomNote字符消耗map里对应字母次数while (j < ransomNote.length) {const ranKey = ransomNote[j];if (wordMap[ranKey] > 0) {wordMap[ranKey] -= 1;} else {return false;}j++;}return true;
};

2744. 最大字符串配对数目

题目

给你一个下标从 0 开始的数组 words ,数组中包含 互不相同 的字符串。
如果字符串 words[i] 与字符串 words[j] 满足以下条件,我们称它们可以匹配:

  • 字符串 words[i] 等于 words[j] 的反转字符串。

  • 0 <= i < j < words.length

请你返回数组 words 中的 最大 匹配数目。
注意,每个字符串最多匹配一次。

示例 1:
输入: words = [“cd”,“ac”,“dc”,“ca”,“zz”] 输出: 2 解释: 在此示例中,我们可以通过以下方式匹配 2 对字符串: - 我们将第 0 个字符串与第 2 个字符串匹配,因为 word[0] 的反转字符串是 “dc” 并且等于 words[2]。 - 我们将第 1 个字符串与第 3 个字符串匹配,因为 word[1] 的反转字符串是 “ca” 并且等于 words[3]。 可以证明最多匹配数目是 2 。
示例 2:
输入: words = [“ab”,“ba”,“cc”] 输出: 1 解释: 在此示例中,我们可以通过以下方式匹配 1 对字符串: - 我们将第 0 个字符串与第 1 个字符串匹配,因为 words[1] 的反转字符串 “ab” 与 words[0] 相等。 可以证明最多匹配数目是 1 。
示例 3:
输入: words = [“aa”,“ab”] 输出: 0 解释: 这个例子中,无法匹配任何字符串。

提示:

  • 1 <= words.length <= 50

  • words[i].length == 2

  • words 包含的字符串互不相同。

  • words[i] 只包含小写英文字母。

题解
/*** @param {string[]} words* @return {number}*/
var maximumNumberOfStringPairs = function (words) {const indexMap = {};let sum = 0;for (let i = 0; i < words.length; i++) {if (indexMap[words[i]]) {sum++;} else {const [a, b] = words[i];indexMap[b + a] = true;}}return sum;
};

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

题目

给你一个数组 nums ,数组中的数字 要么 出现一次,要么 出现两次。
请你返回数组中所有出现两次数字的按位 XOR 值,如果没有数字出现过两次,返回 0 。

示例 1:
输入: nums = [1,2,1,3]
输出: 1
解释:
nums 中唯一出现过两次的数字是 1 。
示例 2:
输入: nums = [1,2,3]
输出: 0
解释:
nums 中没有数字出现两次。
示例 3:
输入: nums = [1,2,2,1]
输出: 3
解释:
数字 1 和 2 出现过两次。1 XOR 2 == 3

提示:

  • 1 <= nums.length <= 50

  • 1 <= nums[i] <= 50

  • nums 中每个数字要么出现过一次,要么出现过两次。

题解
/*** @param {number[]} nums* @return {number}*/
var duplicateNumbersXOR = function (nums) {const aryMap = {};for (let i = 0; i < nums.length; i++) {let item = nums[i];if (aryMap[item]) {aryMap[item] += 1;} else {aryMap[item] = 1;}}return Object.entries(aryMap).reduce((prev, cur) => {const [key, value] = cur;return value > 1 ? prev ^ key : prev;}, 0);
};

相关文章:

leetcode-哈希表

哈希表 127. 单词接龙 题目 字典 wordList 中从单词 beginWord 到 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s(1) -> s(2) -> ... -> s(k)&#xff1a; 每一对相邻的单词只差一个字母。 对于 1 < i < k 时&#xff0c;每个 s(i) 都在…...

信息技术有限公司项目管理手册

这篇文档是信息技术有限公司的项目管理指导手册&#xff0c;对软件公司项目管理者具有重要价值&#xff0c;主要体现在以下几个方面&#xff1a; 管理全面规范 涵盖内容广&#xff1a;从项目的整体管理到各个具体领域&#xff0c;如范围管理、进度管理、成本管理等&…...

TFTP服务调试

在tftpboot目录下进行sudo minicom 启动内核时 问题&#xff1a;程序启动卡在Loading阶段 原因&#xff1a;tftp协议的问题 、或者网卡配置的问题 解决&#xff1a;1.检查网线是否插好 多试几次 2.检查tftp服务是否正常 在minicom中调试ping pc机的ip地址 2.进入boot调…...

date-picker组件的shortcuts为什么不能配置在vue的data的return中

在 Vue 中&#xff0c;shortcuts 是一个选项&#xff0c;通常用于配置像 date-picker 这样的组件的日期快捷方式。这里有一些原因解释为什么 shortcuts 不应该配置在 data 的 return 中&#xff0c;而是应该配置在 data 的外部&#xff08;例如&#xff0c;直接作为组件的一个属…...

迭代器模式:统一数据遍历方式的设计模式

迭代器模式&#xff1a;统一数据遍历方式的设计模式 一、模式核心&#xff1a;将数据遍历逻辑与数据结构解耦 在软件开发中&#xff0c;不同的数据结构&#xff08;如数组、链表、集合&#xff09;有不同的遍历方式。如果客户端直接依赖这些数据结构的内部实现来遍历元素&…...

RocketMQ 核心架构速览

欢迎光临小站&#xff1a;致橡树 文章现有讲述比较简单&#xff0c;后续逐渐丰富各部分内容。 Apache RocketMQ 作为阿里巴巴开源的一款分布式消息中间件&#xff0c;凭借其高吞吐、低延迟、高可用等特性&#xff0c;成为金融级稳定性场景的首选解决方案。本文将深入剖析 Roc…...

kafka安装、spark安装

kafka简介 Kafka就是一个分布式的用于消息存储的消息队列。 kafka角色 Kafka中存储的消息&#xff0c;被消费后不会被删除&#xff0c;可以被重复消费&#xff0c;消息会保留多长&#xff0c;由kafka自己去配置。默认7天删除。背后的管理工作由zookeeper来管理。 kafka安装 …...

迅为RK3562开发板ARM四核A53核心板多种系统适配全开源

迅为RK3562开发板ARM四核A53核心板多种系统适配全开源 RK3562开发板(2GB内存16GB存储)...

用交换机连接两台电脑,电脑A读取/写电脑B的数据

1、第一步&#xff0c;打开控制面板中的网络和共享中心&#xff0c;如下图配置&#xff0c;电脑A和电脑B均要配置&#xff1b; 注意&#xff1a;要保证电脑A和电脑B在同一子网掩码下&#xff0c;不同的IP地址&#xff1b; 2、在电脑上同时按‘CommandR’&#xff0c;在弹出的输…...

线程入门3

synchronized修饰方法 synchronized可以修饰代码块(在线程入门2中有例子)&#xff0c;也可以修饰普通方法和静态方法。 修饰普通方法 修饰普通方法简化写法&#xff1a; 修饰静态方法 修饰静态方法简化写法&#xff1a; 注意&#xff1a;利用synchronized上锁&#xff0c;锁的…...

【C++】AVL树

目录 一、AVL树的引入 二、AVL树 &#x1f354;AVL树的概念 &#x1f35f;AVL树节点的定义 &#x1f32e;AVL树的插入 &#x1f96a;AVL树的旋转 三、AVL树的验证 四、结语 一、AVL树的引入 &#x1f31f;我们知道 map/multimap/set/multiset 这几个容器的共同点是&#…...

Java大师成长计划之第1天:Java编程基础入门

&#x1f4e2; 友情提示&#xff1a; 本文由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;平台gpt-4o-mini模型辅助创作完成&#xff0c;旨在提供灵感参考与技术分享&#xff0c;文中关键数据、代码与结论建议通过官方渠道验证。 欢迎来到“Java大师成长计划”系列文…...

Java线程中断机制详解

中断机制是Java中一种协作式的线程停止方式&#xff0c;它提供了一种优雅的线程间通信机制&#xff0c;用于请求另一个线程停止当前工作。 中断机制的核心概念 中断标志位(Interrupt Status) 每个线程都有一个boolean类型的中断状态标志&#xff08;native方法控制&#xff09…...

gem5-gpu教程06 回归测试

gem5-gpu包括gem5风格的回归测试,以避免常见错误,并在变更集之间保持模拟系统性能的一致性。如果你想为gem5-gpu做出贡献,你必须确保你的更改通过了包含的回归测试。 回归测试是一种软件测试类型,其主要目的是确保新代码的更改没有对现有功能造成影响。在软件开发过程中,当…...

查询Hologres或postgresql中的数据

因Hologres使用postgresql的语法.所以两者查询一样. 方案1: import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ArrayList; import java.util.List;/*** 一个使用简单连接池管理PostgreSQL连接的工具类。*/ publi…...

C# 文件读取

文件读取是指使用 C# 程序从计算机文件系统中获取文件内容的过程。将存储在磁盘上的文件内容加载到内存中&#xff0c;供程序处理。主要类型有&#xff1a;文本文件读取&#xff08;如 .txt, .csv, .json, .xml&#xff09;&#xff1b;二进制文件读取&#xff08;如 .jpg, .pn…...

On the Biology of a Large Language Model——Claude团队的模型理解文章【论文阅读笔记】其一CLT与LLM知识推理

这个学习笔记&#xff0c;是在精读Anthropic的博客 On the Biology of a Large Language Model 的过程中留下的笔记。 由于原文非常长&#xff0c;我会分2-3 个博客来写。 作者的思路 作者对常用的LLM特征解读工具 SAE/Transcoder 进行了优化&#xff0c;增加了跨层连接的能力…...

Postman忘记密码访问官网总是无响应

1.Header Editor插件下载 百度网盘下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1EV6cY7TYQVgPjip3v-vhfQ 提取码&#xff1a;yyds 2.插件配置 下载规则url&#xff1a;https://azurezeng.github.io/static/HE-GoogleRedirect.json ![在这里插入图片描述](htt…...

NEUOJ网格路径

​ 在一个 77 的网格中&#xff0c;从左上方的方格走到左下方的方格&#xff0c;共有 88418 条路径。每条路径对应一个由字符 D&#xff08;向下&#xff09;、U&#xff08;向上&#xff09;、L&#xff08;向左&#xff09;和 R&#xff08;向右&#xff09;组成的 48 字符描…...

深度学习中的黑暗角落:梯度消失与梯度爆炸问题解析

&#x1f4cc; 友情提示&#xff1a; 本文内容由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;创作平台的gpt-4o-mini模型生成&#xff0c;旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证&#xff0c;建议读者通过官方文档或实践进一步确认其准…...

【数字图像处理】机器视觉(1)

判别相对应的点 1. 图像灰度化 2. 局部特征 3. 仿射不变性特征 图像变化的类型 【1】几何变化&#xff1a;旋转、相似&#xff08;旋转 各向相同的尺度缩放&#xff09;、仿射&#xff08;非各向相同的尺度缩放&#xff09; 【2】灰度变化&#xff1a;仿射灰度变化 角点 角…...

# 构建和训练一个简单的CBOW词嵌入模型

构建和训练一个简单的CBOW词嵌入模型 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;词嵌入是一种将词汇映射到连续向量空间的技术&#xff0c;这些向量能够捕捉词汇之间的语义关系。在这篇文章中&#xff0c;我们将构建和训练一个简单的Continuous Bag of Words…...

Ubuntu20.04下GraspNet复现流程中的问题

pytorchcudacudnn的版本问题相对于GraspNet来说至关重要&#xff01;&#xff01;&#xff01;至关重要&#xff01;&#xff01;&#xff01;至关重要&#xff01;&#xff01;&#xff01;&#xff08;重要的事情说三边&#xff09; 我的显卡是3070 那么首先说结论 使用30系…...

【ROS2】机器人操作系统安装到Ubuntu简介

主要参考&#xff1a; https://book.guyuehome.com/ROS2/1.系统架构/1.3_ROS2安装方法/ 官方文档&#xff1a;https://docs.ros.org/en/humble/Installation.html 虚拟机与ubuntu系统安装 略&#xff0c;见参考文档 ubutun换国内源&#xff0c;略 1. 设置本地语言 确保您有…...

从0到1掌握机器学习核心概念:用Python亲手构建你的第一个AI模型(超多代码+可视化)

&#x1f9e0; 一、开始 真正动手实现一个完整的AI项目&#xff01;从数据预处理、特征工程、模型训练&#xff0c;到评估与调优&#xff0c;一步步还原你在动画视频中看到的所有核心知识点。 &#x1f4e6; 二、环境准备 建议使用 Python 3.8&#xff0c;推荐工具&#xff1…...

Java面试题汇总

1王二哥 https://javabetter.cn/sidebar/sanfene/redis.html#_10-redis-%E6%8C%81%E4%B9%85%E5%8C%96%E6%96%B9%E5%BC%8F%E6%9C%89%E5%93%AA%E4%BA%9B-%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB 2.小林 https://www.xiaolincoding.com/redis/data_struct/command.html#…...

Ollama API 应用指南

1. 基础信息 默认地址: http://localhost:11434/api数据格式: application/json支持方法: POST&#xff08;主要&#xff09;、GET&#xff08;部分接口&#xff09; 2. 模型管理 API (1) 列出本地模型 端点: GET /api/tags功能: 获取已下载的模型列表。示例:curl http://lo…...

React SSR + Redux 导致的 Hydration 报错踩坑记录与修复方案

一条“Hydration failed”的错误&#xff0c;让我损失了半天时间 背景 我在用 Next.js App Router Redux 开发一个任务管理应用&#xff0c;一切顺利&#xff0c;直到打开了 SSR&#xff08;服务端渲染&#xff09;&#xff0c;突然看到这个令人头皮发麻的报错&#xff1a; …...

【论文精读】Reformer:高效Transformer如何突破长序列处理瓶颈?

目录 一、引言&#xff1a;当Transformer遇到长序列瓶颈二、核心技术解析&#xff1a;从暴力计算到智能优化1. 局部敏感哈希注意力&#xff08;LSH Attention&#xff09;&#xff1a;用“聚类筛选”替代“全量计算”关键步骤&#xff1a;数学优化&#xff1a; 2. 可逆残差网络…...

iOS18 MSSBrowse闪退

iOS18 MSSBrowse闪退 问题方案结果 问题 最近升级了电脑系统(15.4.1)&#xff0c;并且也升级了xcode(16.3)开发工具。之后打包公司很早之前开发的项目。 上线之后发现在苹果手机系统18以上&#xff0c;出现了闪退问题。 涉及到的是第三方MSSBrowse&#xff0c;在选择图片放大的…...

create_function()漏洞利用

什么是 create_function() create_function() 是 PHP 早期提供的一个用来创建匿名函数的函数&#xff1a; $func create_function($a,$b, return $a $b;); echo $func(1, 2); // 输出 3 第一个参数是函数的参数列表&#xff08;字符串形式&#xff09;&#xff0c;第二个参…...

leetcode-数组

数组 31. 下一个排列 题目 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c;arr [1,2,3] &#xff0c;以下这些都可以视作 arr 的排列&#xff1a;[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大…...

Tailwind CSS 实战:基于 Kooboo 构建个人博客页面

在现代 web 开发中&#xff0c;Tailwind CSS 作为一款实用优先的 CSS 框架&#xff0c;能让开发者迅速搭建出具有良好视觉效果的页面&#xff1b;Kooboo 则是一个强大的快速开发平台&#xff0c;提供了便捷的页面管理和数据处理功能。本文将详细介绍如何结合 Tailwind CSS 和 K…...

C#学习1_认识项目/程序结构

一、C#项目文件的构成 1.新建一个项目 2.运行项目 3.认识文件 1&#xff09;解决方案&#xff08;Solution&#xff09;&#xff1a;组织多个项目的容器 抽象理解&#xff1a;餐厅 解决方案.sln文件&#xff0c;点击即可进入VS编辑 2&#xff09;项目&#xff08;…...

边缘计算在工业自动化中的应用:开启智能制造新时代

在工业4.0的浪潮中&#xff0c;智能制造成为推动工业发展的核心驱动力。随着物联网&#xff08;IoT&#xff09;技术的广泛应用&#xff0c;工业设备之间的互联互通变得越来越紧密&#xff0c;但这也带来了数据处理和传输的挑战。边缘计算作为一种新兴技术&#xff0c;通过将计…...

《MySQL:MySQL表的内外连接》

表的连接分为内连接和外连接。 内连接 内连接实际上就是利用where子句对两种表形成的笛卡尔积进行筛选&#xff0c;之前的文章中所用的查询都是内连接&#xff0c;也是开发中使用的最多的连接查询。 select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件&#xff1…...

人工智能催化民航业变革:五大应用案例

航空业正在经历一场前所未有的技术革命&#xff0c;人工智能正成为变革的主要催化剂。从停机坪到航站楼&#xff0c;从维修机库到客户服务中心&#xff0c;人工智能正在从根本上重塑航空公司的运营和服务方式。这种转变并非仅仅停留在理论上——全球主要航空公司已从人工智能投…...

机器视觉中有哪些常见的光学辅助元件及其作用?

在机器视觉领域&#xff0c;光学元件如透镜、反射镜和棱镜扮演着至关重要的角色。它们不仅是高精度图像捕获的基础&#xff0c;也是提升机器视觉系统性能的关键。深入了解这些光学元件的功能和应用&#xff0c;可以帮助我们更好地掌握机器视觉技术的精髓。 透镜&#xff1a;精…...

Stream API 对两个 List 进行去重操作

在 Java 8 及以上版本中&#xff0c;可以使用 Lambda 表达式和 Stream API 对两个 List 进行去重操作。以下是几种常见的去重场景及对应的 Lambda 表达式实现方式&#xff1a; 1. 合并两个 List 并去重 List<String> list1 Arrays.asList("A", "B"…...

lerna 8.x 详细教程

全局安装 lerna npm install lerna -g初始化项目 mkdir lerna-cli-do cd lerna-cli-do npm init -y初始化项目 lerna init --packages="packages/*"lerna create 创建子项目 lerna create core lerna create util...

ROS第十二梯:ros-noetic和Anaconda联合使用

1) 概述 ros-noetic默认Python版本是Python2.7,但在使用过程中,通常需要明确调用python3进行编译。 Anaconda: 支持创建独立的python2/3环境,避免系统库冲突; 方便安装ROS依赖的科学计算库(如Numpy,Pandas)和机器学习框架; 核心目标:在anaconda环…...

网络原理 - 5(TCP - 2 - 三次握手与四次挥手)

目录 3. 连接管理 建立连接 - 三次挥手 三次握手的意义 断开连接 - 四次挥手 握手和挥手的相似和不同之处 连接管理过程中涉及到的 TCP 状态转换 完&#xff01; 3. 连接管理 连接管理分为建立连接 和 断开连接~&#xff08;important 重点&#xff01;&#xff09; 建…...

【开源】STM32HAL库移植Arduino OneWire库驱动DS18B20和MAX31850

项目开源链接 github主页https://github.com/snqx-lqh本项目github地址https://github.com/snqx-lqh/STM32F103C8T6HalDemo作者 VXQinghua-Li7 &#x1f4d6; 欢迎交流 如果开源的代码对你有帮助&#xff0c;希望可以帮我点个赞&#x1f44d;和收藏 项目说明 最近在做一个项目…...

【maven-7.1】POM文件中的属性管理:提升构建灵活性与可维护性

在Maven项目中&#xff0c;POM (Project Object Model) 文件是核心配置文件&#xff0c;而属性管理则是POM中一个强大但常被低估的特性。良好的属性管理可以显著提升项目的可维护性、减少重复配置&#xff0c;并使构建过程更加灵活。本文将深入探讨Maven中的属性管理机制。 1.…...

DC-2寻找Flag1、2、3、4、5,wpscan爆破、git提权

一、信息收集 1、主机探测 arp-scan -l 探测同网段2、端口扫描 nmap -sS -sV 192.168.66.136 80/tcp open http Apache httpd 2.4.10 ((Debian)) 7744/tcp open ssh OpenSSH 6.7p1 Debian 5deb8u7 (protocol 2.0)这里是扫描出来两个端口&#xff0c;80和ssh&…...

数据结构手撕--【栈和队列】

目录 1、栈 2、队列 1、栈 先进后出&#xff08;都在栈顶进行操作&#xff09; 使用数组结构比使用链式结构更优&#xff0c;因为数组在尾上插入数据的代价更小。并且采用动态长度的数组来表示。 定义结构体 #include <stdio.h> #include <stdlib.h> #include &l…...

八大排序——选择排序/堆排序

八大排序——选择排序/堆排序 目录 一、选择排序 二、堆排序 2.1 大顶堆&#xff08;升序&#xff09; 2.1.1 步骤 2.1.2 代码实现 2.2 小顶堆&#xff08;降序&#xff09; 一、选择排序 每一趟从待排序序列中找到其最小值&#xff0c;然后和待排序序列的第一个值进行交换&am…...

【KWDB 创作者计划】_深度学习篇---归一化反归一化

文章目录 前言一、归一化(Normalization)1. 定义2. 常用方法Min-Max归一化Z-Score标准化(虽常称“标准化”,但广义属归一化)小数缩放(Decimal Scaling)3. 作用4. 注意事项二、反归一化(Denormalization)1. 定义2.方法3. 应用场景三、Python示例演示四、归一化 vs. 标准…...

windows端远程控制ubuntu运行脚本程序并转发ubuntu端脚本输出的网页

背景 对于一些只能在ubuntu上运行的脚本&#xff0c;并且这个脚本会在ubuntu上通过网页展示运行结果。我们希望可以使用windows远程操控ubuntu&#xff0c;在windows上查看网页内容。 方法 start cmd.exe /k "sshpass -p passwd ssh namexxx.xxx.xxx.xxx "cd /hom…...

推荐系统(二十四):Embedding层的参数是如何在模型训练过程中学习的?

近来有不少读者私信我关于嵌入层&#xff08;Embedding层&#xff09;参数在模型训练过程中如何学习的问题。虽然之前已经在不少文章介绍过 Embedding&#xff0c;但是为了读者更好地理解&#xff0c;笔者将通过本文详细解读嵌入层&#xff08;Embedding Layer&#xff09;的参…...