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

【leetcode】队列 + 宽搜,树形结构层序遍历的基础与变化

前言

🌟🌟本期讲解关于力扣的几篇题解的详细介绍~~~

🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客

🔥 你的点赞就是小编不断更新的最大动力                                       

🎆那么废话不多说直接开整吧~~

 

目录

📚️1.N叉树的层序遍历

🚀1.1题目描述

🚀1.2思路讲解

🚀1.3题目代码

📚️2.二叉树锯齿形遍历

🚀2.1题目描述

🚀2.2思路讲解

🚀2.3题目代码

📚️3.二叉树最大宽度

🚀3.1题目描述

🚀3.2思路讲解

🚀3.3题目代码

📚️4.总结

📚️1.N叉树的层序遍历

🚀1.1题目描述

给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。

树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。

如下图所示:

输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]

输出:[[1],[2,3,4,5],[6,7,8,9,10],[11,12,13],[14]] 

层序遍历就是从上到下,从左到右依次进行遍历操作;

🚀1.2思路讲解

本题的主要思路就是使用队列来进行操作,为啥呢?假如我们将根结点放入某个数据结构中,然后再使用这个节点后,肯定要进行出的操作,但是他还有其他子结点,那么就要添加进去,但是层序遍历时从左到右依次进行遍历,一般来说二叉树这类题基本就是两种栈和队列,那么先入的节点的下一层子结点肯定也是先入队列,所以我们先入的节点要先出(即先入的节点,先出(对应的子结点才可以满足从左到右的遍历方式))所以使用队列比较合适;

具体的思路分析

1.入队列,我们在队列不为空的时候进行入队列操作

2.出队列,我们要根据这层的数据数量来决定出几个元素来进行保存

3.出队列要进行子结点的入队列操作

4.队列为空即可跳出循环

具体的操作如下所示:

 

🚀1.3题目代码

具体的代码如下所示:

class Solution {public List<List<Integer>> levelOrder(Node root) {List<List<Integer>> ret = new ArrayList<>();Queue<Node> queue = new LinkedList<>();//非空判断if(root == null){return ret;}queue.offer(root);//记录每层的数量int count = 0;//入队列,出队列核心代码while(!queue.isEmpty()){count = queue.size();List<Integer> temp = new ArrayList<>();for(int i = 0; i < count ; i++){//出队列Node node = queue.poll();temp.add(node.val);for(Node t : node.children){queue.offer(t);}}ret.add(temp);}return ret;}
}

解释:

处理基础的非空判断,在队列非空的时候一直进行循环操作,我们使用size()来记录需要出队列的次数,然后将出节点的子结点通过方法入队列,每次循环后,将我们的保存的数据放入最终的返回的数据结构中去;

📚️2.二叉树锯齿形遍历

🚀2.1题目描述

给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)

输入:root = [3,9,20,null,null,15,7]
输出:[[3],[20,9],[15,7]]

其实就是一个S形的遍历的方式而已,对于普通的层序遍历进行了一点小变化操作

🚀2.2思路讲解

开始小编在进行分析的时候,是将节点进行不同的层级来进行不同顺序的入队列操作

若为奇数:先入左孩子,再入右孩子

若为偶数:先入右孩子,再入左孩子

但是此时就有一个巨大的问题:孩子的位置改变了,那么对应的子结点也会跟着变化,那么就会越来越乱;

但是结题思路就是,在出队列后,保存数据元素的时候,根据不同的层级进行逆序不就解决了吗

具体的思路:

1.入队列,在队列不为空的情况下一直循环

2.出队列,还是判断本层的数据量

3.将出去节点的左右孩子进行判断后进行入队列操作

4.保存元素后,根据层级进行是否逆序的判断 

其实本题就是对于上一题的一个小小的变化:

这里的判断是否进行逆序判断我们可以设置一个标志位,假如是bool类型,那么我们可以根据true或者false来进行判断;

或者是一个整型,是奇数我们就....然后加1,是偶数我们......,大概就是这种思路

🚀2.3题目代码

具体的代码如下所示:

class Solution {public List<List<Integer>> zigzagLevelOrder(TreeNode root) {//非空校验List<List<Integer>> ret = new ArrayList<>();if(root == null){return ret;}//设置一个bool类型标志位boolean bool = false;Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);while(!queue.isEmpty()){int count = queue.size();List<Integer> temp = new ArrayList<>();for(int i =0; i < count;i++){//出队列TreeNode node = queue.poll();temp.add(node.val);if(node.left != null){queue.offer(node.left);}if(node.right != null){queue.offer(node.right);}}if(bool == false){ret.add(temp);bool =true;}else{//进行逆序的操作Collections.reverse(temp);ret.add(temp);bool =false;}           }return ret;}
}

 解释:

本题和上一题的差距不大,小编这里使用的是布尔类型的变量来进行操作的,在bool为真的时候进行翻转操作: Collections.reverse(temp)数组的翻转操作;然后再进行入队列的时候要注意子结点的为空的情况,本题大致和上题的结题思路基本是一致的的;

📚️3.二叉树最大宽度

🚀3.1题目描述

给你一棵二叉树的根节点 root ,返回树的 最大宽度 。

树的 最大宽度 是所有层中最大的 宽度 。

每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 null 节点,这些 null 节点也计入长度。

题目数据保证答案将会在  32 位 带符号整数范围内。

输入:root = [1,3,2,5,3,null,9]
输出:4
解释:最大宽度出现在树的第 3 层,宽度为 4 (5,3,null,9) 

其实就是获取最大的宽度,当然也要将两个最大宽度节点中的null节点算入我们的宽度长度;

🚀3.2思路讲解

首先这里也是层序遍历的一个变化,我们可以保存每个节点,以及每个节点的数字下标,那么此时每一层的宽度就是队列中第一个元素下标以及最后一个元素下标

注意:本题的下标使用的公式就是2*x + 1(左节点)2*x + 2(右节点)

 那么此时我们每一个得到的队列,就是一层数据,那么就可以进行宽度的计算操作了;

🚀3.3题目代码

具体的代码如下所示:

class Solution {public int widthOfBinaryTree(TreeNode root) {//使用数组去存储我们的节点以及对应的下标数List<Pair<TreeNode,Integer>> ret = new ArrayList<>();//默认为1ret.add(new Pair<TreeNode,Integer>(root,1));int result = 0;while(!ret.isEmpty()){//记录最大的宽度Pair<TreeNode,Integer> root1 = ret.get(0);Pair<TreeNode,Integer> root2 = ret.get(ret.size() - 1);result = Math.max(result,root2.getValue() - root1.getValue() + 1);List<Pair<TreeNode,Integer>> temp = new ArrayList<>();//入队列for(Pair<TreeNode,Integer> q : ret){TreeNode node = q.getKey();int index = q.getValue();if(node.left != null){temp.add(new Pair<TreeNode,Integer>(node.left,2*index + 1));}if(node.right != null){temp.add(new Pair<TreeNode,Integer>(node.right,2*index + 2));}}//模拟出队列,覆盖原来数据ret = temp;}return result;}
}

解释:

这里主要就是对于Pair的使用,在保存数据的时候,要对于节点和下标进行保存的操作,并且我使用的即数组来模拟队列,创建一个新的数组,然后进行覆盖的操作将旧数组进行覆盖;

📚️4.总结

本期小编主要是对于力扣中关于层序遍历的题型讲解,主要包括N叉树层序遍历,二叉树锯齿形遍历,以及二叉树最大宽度计算~~~

题目来源:

429. N 叉树的层序遍历 - 力扣(LeetCode)

103. 二叉树的锯齿形层序遍历 - 力扣(LeetCode)

662. 二叉树最大宽度 - 力扣(LeetCode)

🌅🌅🌅~~~~最后希望与诸君共勉,共同进步!!!


💪💪💪以上就是本期内容了, 感兴趣的话,就关注小编吧。

😊😊  期待你的关注~~~

相关文章:

【leetcode】队列 + 宽搜,树形结构层序遍历的基础与变化

前言 &#x1f31f;&#x1f31f;本期讲解关于力扣的几篇题解的详细介绍~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f386;那么废话不…...

Spring AI聊天模型API:轻松构建智能聊天交互

Spring AI聊天模型API&#xff1a;轻松构建智能聊天交互 前言 在当今数字化时代&#xff0c;智能聊天功能已成为众多应用程序提升用户体验、增强交互性的关键要素。Spring AI的聊天模型API为开发者提供了一条便捷通道&#xff0c;能够将强大的AI驱动的聊天完成功能无缝集成到…...

力扣-链表-2 两数相加

思路 两个指针同时遍历&#xff0c;维护一个进位值&#xff0c;同时还要维护第一个链表的前序&#xff0c;如果第二个链表比第一个长的时候&#xff0c;利用这个前序指针把第二个链表多余的内容&#xff0c;添加到第一个链表的末尾 代码 class Solution {public ListNode ad…...

leetcode 59. 螺旋矩阵 II

题目描述 代码&#xff1a; class Solution { public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> res(n,vector<int>(n,0));int num 1;int len n;int start 0;while(len > 0){int row start;int column start;if…...

【操作系统】深入理解内存管理:从虚拟内存到OOM Killer

引言 在现代计算机系统中&#xff0c;内存管理是操作系统最核心的功能之一。本文将围绕内存管理的几个关键概念展开讨论&#xff0c;包括虚拟内存机制、内存分配原理、OOM Killer的工作机制以及不同系统架构下的内存限制。 虚拟内存&#xff1a;突破物理限制的关键技术 虚拟…...

《政治最后的日子》章节

政治与中世纪教会的类比性衰落 作者提出现代民族国家正重复中世纪教会的衰落轨迹&#xff1a; 两者均曾作为社会组织核心存在约5个世纪 晚期都成为生产力阻碍&#xff08;中世纪教会税收负担/现代国家官僚低效&#xff09; 末期均出现管理者普遍腐败与公众蔑视&#xff08;…...

Rust Trait 学习

概述 特征&#xff08;trait&#xff09;是rust中的概念&#xff0c;类似于其他语言中的接口&#xff08;interface&#xff09;。特征定义了一个可以被共享的行为&#xff0c;只要实现了特征&#xff0c;你就能使用该行为。 如果不同的类型具有相同的行为&#xff0c;那么我们…...

基于开源链动2+1模式AI智能名片S2B2C商城小程序的爆品力构建研究

摘要&#xff1a;在兴趣电商生态中&#xff0c;爆品力已成为品牌实现指数级增长的核心竞争力。本文以开源链动21模式AI智能名片S2B2C商城小程序为技术载体&#xff0c;结合抖音平台的内容传播特性&#xff0c;提出“需求挖掘-技术赋能-内容转化”三位一体的爆品力构建模型。通过…...

【SimSession 】2:PacedReceiver:支持与 PacedVideoSender 本地联调

单独的基于libuv的发送能力,如何进一步在SimSession内集成使用?打算进行本地模拟俩线程,发送和接收,进行测试: 单独的发送测试 【SimSession】1:将视频发送逻辑与 libuv 事件循环集成是一个典型的并发设计问题 分析后,D:\XTRANS\thunderbolt\ayame\zhb-bifrost\player-…...

5 什么情况下需要微调

这个问题其实很重要&#xff0c;因为现代大模型训练出来已经非常强大&#xff0c;可能真的不需要微调。 我们可以通过 RAG 或提示词工程来实现目标。 需要微调的场景与替代方案分析 微调(Fine-tuning)确实不是所有场景都必需的&#xff0c;特别是考虑到现代大型语言模型(LLM…...

Docker 渡渡鸟镜像同步站 使用教程

Docker 渡渡鸟镜像同步站 使用教程 &#x1f680; 介绍 Docker.aityp.com&#xff08;渡渡鸟镜像同步站&#xff09;是一个专注于为国内开发者提供 Docker 镜像加速和同步服务的平台。它通过同步官方镜像源&#xff08;如 Docker Hub、GCR、GHCR 等&#xff09;&#xff0c;为…...

位图的实现和拓展

一&#xff1a;位图的介绍 ①&#xff1a;需要位图的场景 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何快速判断一个数是否在这40亿个数中&#xff1f; 要判断一个数是否在某一堆数中&#xff0c;我们可能会想到如下方法&#xff1a; A…...

字符串问题c++

题目描述 小 Z 有一个字符串 s&#xff0c;他对这个字符串会进行如下两个操作&#xff1a; 1 p c 把字符串的第 p 个字符改成 c2 l r 把 s 的第 l 个字符到第 r 个字符按顺序输出。 这里『第 i 个字符』的下标计数从 1 开始&#xff0c;例如&#xff0c;a 是字符串 abc 的第…...

Redis事务

Redis中的事务是指提供一种将多个命令打包到一起&#xff0c;一次性按照顺序执行的机制。Redis在执行事务期间&#xff0c;不会接收处理其他操作命令。 Redis事务有以下局限性 无回滚机制&#xff1a;如果某个命令执行失败&#xff0c;不会影响其他命令的执行&#xff0c;因此…...

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】3.3 异常值识别(Z-score法/IQR法/业务规则法)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 PostgreSQL数据分析实战&#xff1a;数据质量分析之异常值识别&#xff08;Z-score法 / IQR法 / 业务规则法&#xff09;3.3 异常值识别3.3.1 Z-score法3.3.2 IQR法3.3.3 业…...

MCP底层协议完整通信过程

2025 年是智能体的元年, 也注定是智能体集中爆发的一年! 两个互联领域的重大挑战: 第一、 Agent 与 Tools (工具)的交互 Agent 需要调用外部工具和 API...

C语言 指针(5)

目录 1.冒泡排序 2.二级指针 3.指针数组 4.指针数组模拟二级数组 1.冒泡排序 1.1 基本概念 冒泡排序&#xff08;Bubble Sort&#xff09; 是一种简单的排序算法&#xff0c;它重复地遍历要排序的数列&#xff0c;一次比较两个元 素&#xff0c;如果它们的顺序错误就把它…...

MYSQL-联合查询

经过上节课&#xff0c;我们学会了如何设计表以及了解到各种范式&#xff0c;这节课就请大家和小L一起来学习设计表之后如何使用 1.为什么要使用联合查询 在数据设计时由于范式的要求&#xff0c;数据被拆分到多个表中&#xff0c;那么要查询⼀个条数据的完整信息&#xff0c…...

一篇撸清 Http,SSE 与 WebSocket

HTTP,SSE 和WebSocket都是网络传输的协议,本篇快速介绍三者的概念和比较。 SSE(Server-Sent Events) 是什么? SSE(Server-Sent Events),服务器发送事件, 是一种基于 HTTP 的轻量级协议,允许服务器主动向客户端(如浏览器)推送实时数据。它设计用于单向通信(服务器到…...

系统架构设计师:设计模式——行为设计模式

一、行为设计模式 行为模式涉及算法和对象间职责的分配。行为模式不仅描述对象或类的模式&#xff0c;还描述它们之间的通信模式。这些模式刻画了在运行时难以跟踪的、复杂的控制流。它们将用户的注意力从控制流转移到对象间的联系方式上来。 行为类模式使用继承机制在类间分…...

OpenCV入门指南:从环境搭建到第一个图像处理程序

引言 你是否想让计算机"看懂"世界&#xff1f;OpenCV&#xff08;Open Source Computer Vision Library&#xff09;正是打开计算机视觉大门的钥匙。本文将带你从零开始搭建开发环境&#xff0c;理解图像处理核心概念&#xff0c;并完成第一个OpenCV程序。无论你是想…...

基于STM32的温湿度光照强度仿真设计(Proteus仿真+程序设计+设计报告+讲解视频)

这里写目录标题 **1.****主要功能****2.仿真设计****3.程序设计****4.设计报告****5.下载链接** 基于STM32的温湿度光照强度仿真设计(Proteus仿真程序设计设计报告讲解视频&#xff09; 仿真图Proteus 8.9 程序编译器&#xff1a;keil 5 编程语言&#xff1a;C语言 设计编号…...

4个纯CSS自定义的简单而优雅的滚动条样式

今天发现 uni-app 项目的滚动条不显示&#xff0c;查了下原来是设置了 ::-webkit-scrollbar {display: none; } 那么怎么用 css 设置滚动条样式呢&#xff1f; 定义滚动条整体样式‌ ::-webkit-scrollbar 定义滚动条滑块样式 ::-webkit-scrollbar-thumb 定义滚动条轨道样式‌…...

修复笔记:SkyReels-V2项目中的 from_config 警告

#工作记录 Windows避坑部署SkyworkAI/SkyReels-V2昆仑万维电影生成模型_skyreels-v2本地部署-CSDN博客 一、项目背景 项目名称&#xff1a;SkyReels-V2 项目简介&#xff1a;由昆仑万维开源的全球首个无限时长电影生成模型&#xff0c;支持文本到视频、图像到视频等多种生成方…...

[硬件电路-11]:模拟电路常见元器件 - 什么是阻抗、什么是输入阻抗、什么是输出阻抗?阻抗、输入阻抗与输出阻抗的全面解析

1. 阻抗&#xff08;Impedance&#xff09; 定义&#xff1a;阻抗是电路或元件对交流信号&#xff08;AC&#xff09;流动的阻碍能力&#xff0c;用符号Z表示&#xff0c;单位为欧姆&#xff08;Ω&#xff09;。它综合了电阻&#xff08;R&#xff09;、电感&#xff08;L&am…...

MCP协议与Dify集成教程

一、MCP协议概述 MCP&#xff08;Model Control Protocol&#xff09;是一种新兴的开放协议&#xff0c;为大型语言模型&#xff08;LLM&#xff09;与外部应用之间构建了双向通信通道。它就像是AI的"USB-C"接口&#xff0c;帮助模型发现、理解并安全调用各种外部工…...

flink常用算子整理

文章目录 前言1.重新分配(即打散)2.合并流的算子3.算子链操作4.侧边输出(目前只有一种)5.键控进行分区6.输出算子7.其他基础操作算子8.其他常用的算子9.Flink窗口等情况10.窗口举例前言 提示:以下是本篇文章正文内容,下面案例可供参考 1.重新分配(即打散) 2.合并流的算子 3…...

【SimSession】1:将视频发送逻辑与 libuv 事件循环集成是一个典型的并发设计问题

之前对SimSession的信令进行测试,echo可以与relay联通,现在单独提取 已经集成了webrtc的发送模块及libuv框架与SimSession和echo集成: 采集、编码和发送之前在pacedsender内部实现的 现在从pacedsender中去掉采集、编码,放在session中运行。 而pacedsender仅暴露发送部分:…...

Circular Plot系列(五): circle plot展示单细胞互作

这是我们circle系列的最后一节&#xff0c;我想常见的弦图是绕不开的&#xff0c;所以最后从前面介绍的circle plot思路&#xff0c;做一遍弦图。其实前面的内容如果消化了&#xff0c;plot互作弦图也就不成什么问题了。 效果如下&#xff1a; #cellchat提取互作结果&#xff…...

LLama-v2 权重下载

地址&#xff1a;llama模型 官方github仓库&#xff1a;llama仓库 注意点 网络代理位置&#xff1a;美国下面的国家选择 United States 克隆仓库后 运行bash download.sh输入邮箱收到的URL选择要下载的权重等待下载完成即可 有问题留言&#xff01;&#xff01;&#xff01…...

深入解析Linux进程间通信(IPC):机制、应用与最佳实践

引言 在多任务操作系统中&#xff0c;进程间通信&#xff08;Inter-Process Communication, IPC&#xff09;是协同工作的核心机制。Linux作为现代操作系统的典范&#xff0c;提供了8种主要IPC方式&#xff0c;从传统的管道到面向网络的套接字&#xff0c;每种方法都暗藏独特的…...

基于开源AI大模型AI智能名片S2B2C商城小程序源码的私域流量稳定性构建研究

摘要&#xff1a;在私域流量时代&#xff0c;传统实体零售的"时间积累"逻辑被直播电商等新业态颠覆。完美日记等新锐品牌通过构建私域流量池&#xff0c;实现了从0到1的指数级增长&#xff0c;而传统品牌却陷入"流量焦虑"。本文提出以开源AI大模型AI智能名…...

第13章:陈默再访海奥华

第13章&#xff1a;陈默再访海奥华 第一节&#xff1a;启程——穿越虫洞的旅程 2046年&#xff0c;赤色世界的和平与繁荣达到了前所未有的高度。人类已经完成了从物质文明向意识文明的转变&#xff0c;精神力的普及让每一个人都拥有了学习、修复和感知的能力。然而&#xff0…...

Prompt compress 技术探究-LLMLingua2

LLMLingua2 https://arxiv.org/pdf/2403.12968是LLMLingua的改进版本。我们知道 LLMLingua需要用小模型压缩&#xff0c;模型太小不一定能保证性能&#xff0c;模型太大耗费时间又太长。这个方法理论上可以&#xff0c;但实际上不是很方便用。很难选择到合适的小模型。 小模型…...

【机器学习案列-22】基于线性回归(LR)的手机发布价格预测

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

python调用国税乐企直连接口开数电票之获取数字化电子发票批量预赋码信息

乐企平台介绍 乐企平台作为国家税务总局推出的唯一数电票标准化的API接口重要平台&#xff0c;旨在通过税务系统与企业自有信息系统的直连涉税服务&#xff0c;开票员登录企业自有系统&#xff08;ERP、OMS、发票管理系统等&#xff09;无需通过第三方平台即可实现国税直连开票…...

Axure打开html文件失败,解决方案:

1、在原型文件中找到 2、文件后缀名改为 axure-chrome-extension.rar ,解压后到axure-chrome-extension 3、打开Chrome浏览器&#xff0c;找到扩展程序 选择刚刚解压的文件axure-chrome-extension文件夹&#xff0c;配置完成&#xff0c;打开html试试吧...

Android第四次面试总结之Java基础篇(补充)

一、设计原则高频面试题&#xff08;附大厂真题解析&#xff09; 1. 单一职责原则&#xff08;SRP&#xff09;在 Android 开发中的应用&#xff08;字节跳动真题&#xff09; 真题&#xff1a;“你在项目中如何体现单一职责原则&#xff1f;举例说明。”考点&#xff1a;结合…...

网络开发基础(游戏)之 心跳机制

简介 心跳机制&#xff1a;是指客户端定时&#xff08;比如每隔着10秒&#xff09;向服务端发送PING消息&#xff0c;服务端收到后回应PONG消息。服务端会记录客户端最后一次发送PING消息的时间&#xff0c;如果很久没有收到下一次客户端发来的消息&#xff0c;服务端就就判…...

Hive进阶之路

目录 一、Hive 基础回顾 二、数据定义语言&#xff08;DDL&#xff09;进阶 2.1 复杂表创建 2.2 分区与分桶优化 三、数据操作语言&#xff08;DML&#xff09;深入 3.1 高效的数据加载 3.2 灵活的数据更新与删除 四、Hive 函数高级应用 4.1 内置函数的巧用 4.2 自定义…...

imx6uLL应用-v4l2

Linux V4L2 视频采集 JPEG 解码 LCD 显示实践 本文记录一个完整的嵌入式视频处理项目&#xff1a;使用 V4L2 接口从摄像头采集 MJPEG 图像&#xff0c;使用 libjpeg 解码为 RGB 格式&#xff0c;并通过 framebuffer 显示在 LCD 屏幕上。适用于使用 ARM Cortex-A 系列开发板进…...

以太坊智能合约开发框架:Hardhat v2 核心功能从入门到基础教程

一、设置项目 Hardhat 项目是安装了 hardhat 包并包含 hardhat.config.js 文件的 Node.js 项目。 操作步骤&#xff1a; ①初始化 npm npm init -y②安装 Hardhat npm install --save-dev hardhat③创建 Hardhat 项目 npx hardhat init如果选择 Create an empty hardhat.…...

【现代深度学习技术】现代循环神经网络06:编码器-解码器架构

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上&#xff0c;结合当代大数据和大算力的发展而发展出来的。深度学习最重…...

Jasper and Stella: distillation of SOTA embedding models

摘要 Dense检索是许多深度学习应用系统中&#xff08;例如常见问题 &#xff08;FAQ&#xff09; 和检索增强生成 &#xff08;RAG&#xff09;&#xff09;关键组成部分。在此过程中&#xff0c;Embedding模型将原始文本转换为向量。然而&#xff0c;目前在文本Embedding基准…...

程序的本质—API接口

API 是什么 官方定义&#xff1a;API 英文全称 Application Programming Interface&#xff0c;翻译过来为程序之间的接口。也是程序与外部世界的桥梁&#xff0c;实现了服务拆分与解藕的核心机制 大白话&#xff1a;按照规则提供输入&#xff0c;它帮你得到对应的输出 API可…...

Python函数完全指南:从零基础到灵活运用

Python函数是组织代码、实现代码复用的基本单元&#xff0c;也是Python编程中最重要的概念之一。本文将全面介绍Python函数的知识体系&#xff0c;帮助初学者系统掌握函数的使用方法。 一、函数基础概念 1. 什么是函数&#xff1f; 函数是一段可重复使用的代码块&#xff0c…...

第十章.XML

文章目录 1.XMl简介2.解析XML技术2.1DOM解析XML 2.2DOM4j3.json 1.XMl简介 EXtensible Markup Language ,可扩充标记语言 特点: XML与操作系统,编程语言的开发平台无关实现不同系统之间的数据交换 作用: 数据交互配置应用程序和网站 XML标签 xml文档由一系列标签元素组成<…...

5个情感丰富GPT-4o图像提示词(不是吉卜力风格)

一场新的创意运动正在迅速兴起——人们不仅使用ChatGPT进行写作,还用它来构思富有想象力、情感丰富的视觉概念。 这一趋势正在改变我们讲故事、建立品牌和探索创意的方式。从异想天开的海报世界到基于物品的故事叙述,各行业的创作者正在将ChatGPT与视觉生成工具结合使用,赋…...

华为OD机试真题——求最多可以派出多少支队伍(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C、GO六种语言的最佳实现方式&#xff1b; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析&#xff1b; 本文收录于专栏&#xff1a;《2025华为OD真题目录…...

《七年一剑》速读笔记

文章目录 书籍信息概览知己知彼市场的本质认识自我了解他人人剑合一 技术分析精要K线分型均线节奏形态画线成交量周期级别指标之王——MACD波动理论 管窥基本面A股周期论实战角度看财报 构建交易系统打开交易之门交易基础之买卖依据风险控制与仓位管理系统评估及情绪管理 实战秘…...