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

Rust踩雷笔记(5)——刷点链表的题(涉及智能指针Box,持续更新)

目录

      • leetcode 2 两数相加——模式匹配+单链表+Box

只能说Rust链表题的画风和C++完全不一样,作为新手一时间还不太适应,于是单独为链表、智能指针开一篇,主要记录leetcode相关题型的答案以及注意事项。

leetcode 2 两数相加——模式匹配+单链表+Box

⭐️两个注意点
🍉里面有官方提供的单链表的实现,可以参考下;
🍉遍历链表可以用loop+match模式匹配的方式

// Definition for singly-linked list.
#[derive(PartialEq, Eq, Clone, Debug)]
pub struct ListNode {pub val: i32,pub next: Option<Box<ListNode>>
}impl ListNode {#[inline]fn new(val: i32) -> Self {ListNode {next: None,val}}
}impl Solution {pub fn add_two_numbers(l1: Option<Box<ListNode>>, l2: Option<Box<ListNode>>) -> Option<Box<ListNode>> {let mut t = (l1, l2, 0, 0);let mut result = None;let mut tail = &mut result;loop {t = match t {(None, None, _, 0) => break,(Some(l1), Some(l2), _, mut carry) => {let temp = l1.val + l2.val + carry;let res_temp = temp % 10;carry = temp / 10;(l1.next, l2.next, res_temp, carry)}(Some(l), None, _, mut carry) | (None, Some(l), _, mut carry) => {let temp = l.val + carry;let res_temp = temp % 10;carry = temp / 10;(l.next, None, res_temp, carry)}(None, None, _, carry) => {(None, None, carry, 0)}};*tail = Some(Box::new(ListNode::new(t.2)));tail = &mut tail.as_mut().unwrap().next;}result}
}

🍉#[inline] 是什么?
是Rust 中的一个属性,用于提示编译器尝试对函数进行内联展开优化。 内联展开是一种优化技术,可以将函数调用的地方替换为函数体的内容,减少了函数调用的开销,提高代码的执行速度。 通过在函数定义之前使用 #[inline] 属性,你可以向编译器发出建议,让它在合适的情况下尝试内联展开函数。

相关文章:

Rust踩雷笔记(5)——刷点链表的题(涉及智能指针Box,持续更新)

目录 leetcode 2 两数相加——模式匹配单链表Box 只能说Rust链表题的画风和C完全不一样&#xff0c;作为新手一时间还不太适应&#xff0c;于是单独为链表、智能指针开一篇&#xff0c;主要记录leetcode相关题型的答案以及注意事项。 leetcode 2 两数相加——模式匹配单链表Bo…...

[附源码]计算机毕业设计-JAVA火车票订票管理系统-springboot-论-文-ppt

PPT论文 文章目录 前言一、主要技术javaMysql数据库JSP技术 二、系统设计三、功能截图总结 前言 本论文主要论述了如何使用JAVA语言开发一个火车订票管理系统 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想…...

CARLA spawn Actor (Vehicle and Pedestrian)

1. Spawn Vehicles 2. Spawn Pedestrian References [1] Carla简单入门-1 基本的API使用 - 知乎 [2] https://carla.org/2019/07/12/release-0.9.6/...

【官方中文文档】Mybatis-Spring #SqlSessionFactoryBean

SqlSessionFactoryBean 在基础的 MyBatis 用法中&#xff0c;是通过 SqlSessionFactoryBuilder 来创建 SqlSessionFactory 的。而在 MyBatis-Spring 中&#xff0c;则使用 SqlSessionFactoryBean 来创建。 设置 要创建工厂 bean&#xff0c;将下面的代码放到 Spring 的 XML …...

el-tree树回显删除某项,再次点开树形组件无变化,实际数据已改变

el-tree树回显删除某项&#xff0c;再次点开树形组件无变化&#xff0c;实际数据已改变 页面有添加和删除已选选项的按钮&#xff0c;点击删除一个选项&#xff0c;再点添加&#xff0c;打开树形弹窗&#xff0c;发现弹窗被删除的选项还在 原因&#xff1a; 发现是添加的时候&…...

生产作业标准化是什么?生产车间作业流程标准化的步骤

生产作业标准化是以精益化为目标&#xff0c;对现行作业方法进行量化细化的分析改善&#xff0c;最终形成优化后的更好的作业程序。标准化的作用主要是以文件的方式保存企业成员积累的技术和经验&#xff0c;而不是因为人员的流动而失去整个技术和经验。 生产作业标准化的实施非…...

CSS3盒模型+flex

1.盒模型 标准盒模型: wwidthpaddingborderhheightpaddingborder 怪异盒模型(ie盒模型) wwidth包含了(paddingborder)hheight包含了(paddingborder) 2.CSS3弹性盒(重点新版弹性盒) 弹性盒: 设置为弹性盒后,父元素为容器,子元素为项目弹性盒中存在两根轴,默认水平为主轴,垂…...

物种气候生态位动态量化与分布特征模拟

在全球气候快速变化的背景下&#xff0c;理解并预测生物种群如何应对气候变化&#xff0c;特别是它们的地理分布如何变化&#xff0c;已经变得至关重要。利用R语言进行物种气候生态位动态量化与分布特征模拟&#xff0c;不仅可以量化描述物种对环境的需求和适应性&#xff0c;预…...

微服务参数透传实现

说明&#xff1a;在微服务架构中&#xff0c;用户身份经网关验证后&#xff0c;我们可以将用户信息&#xff0c;如ID加入到请求头上。后面的微服务中&#xff0c;可以设置一个拦截器&#xff0c;拦截请求&#xff0c;获取请求头上的用户ID&#xff0c;加入到ThreadLocal中。 最…...

leetcode 767. Reorganize String(重组字符串)

重新排列字符串s中的字母&#xff0c;使得任意两个相邻的字母都不相同。 思路&#xff1a; 让相邻字母不同&#xff0c;能想到的办法是先把相同的字母排列&#xff0c; 然后在相同字母的缝隙中插入另一种字母。 比如"aab", 先把"a a"排出来&#xff0c;再…...

java八股文面试[数据结构]——List和Set的区别

List和Set是用来存放集合的接口&#xff0c;并且二者都继承自接接口Collection List 中的元素存放是有序的&#xff0c;可以存放重复的元素&#xff0c;检索效率较高&#xff0c;插入删除效率较低。 Set 没有存放顺序不能存放重复元素检索效率较低&#xff0c;插入删除效率较…...

脑机接口里程碑!一天2篇Nature!

2023年8月23日&#xff0c;《Nature》期刊一口气发表了两项独立的脑机接口方向的研究。 一项来自加州大学旧金山分校华裔科学家张复伦团队&#xff0c;另一项来自斯坦福大学的神经科学家弗朗西斯威利特(Francis Willett)团队。两项研究都旨在帮助那些因脑损伤和疾病而失去语言能…...

C语言strchr函数

描述 strchr函数用于在一个字符串中查找某个字符的第一次出现的位置。 函数的声明&#xff1a; char * strchr(const char *s, int c); 其中&#xff0c;s是要进行查找的字符串&#xff0c;c是要查找的字符。函数返回指向第一次出现字符 c 的指针&#xff0c;如果未找到&…...

Linux下的Shell基础——Shell概述和入门(一)

前言&#xff1a; Shell还是一个功能相当强大的编程语言&#xff0c;易编写、易调试、灵活性强。为了方便后续的学习&#xff0c;我们需要学习在Linux系统下的Shell编程 目录 一、Shell概述 1.Linux 提供的 Shell 解析器有 2. 默认的解析器是 bash 二、Shell 脚本入门 1.脚…...

当你在浏览器中输入了网址访问时产生了哪些技术步骤

当你在浏览器中输入了网址访问时产生了哪些技术步骤 前段时间在知乎上了看一些网络方面的知识&#xff0c;刚好小编自己也是从事这一块的相关工作由对网络方面有一定的了解。今天我们来讲讲&#xff0c;当你在浏览器中输入本站域名并回车后&#xff0c;这背后到底发生来什么事…...

嵌入式Linux人脸检测libfacedetection

人脸检测 此库依赖Opencv&#xff0c;所以首先要移植Opencv到板子上。 笔者使用LVGL搭建了一个界面&#xff0c;界面有些卡顿&#xff08;主要原因是文件存取较慢&#xff09;&#xff0c;演示效果如下&#xff1a; OpenCV 首先要交叉编译Opencv 参考&#xff1a;https://…...

Hugo托管到Github Pages

Github通过其Github Pages服务可以user、project或organization提供免费快速的静态托管&#xff0c;同时使用Github Actions自动化开发工作流和构建。 1.创建Github仓库 可见性为public。 命名为username.github.io&#xff0c;username为你的Github用户名。 2.添加远程仓库…...

Python经典面试题——在txt里面添加字段和数据

1. 问题&#xff1a; 如何在txt中实现第一行的字段加一个"test",如果第二行开始有数据&#xff0c;在每条数据的最后加"ok" 2.条件 提供的txt文本如下 时间--地区--人口---降雨量----- 20220101--北京--200--0.5----- 20230101--成都--100--0.55----- …...

【观察】打造以AI为导向的基础设施,联想锚定AI算力“主航道”

毫无疑问&#xff0c;人工智能对人类社会来说并不是一项简单的技术革命&#xff0c;它象征着一个时代的到来&#xff0c;如同工业时代之于农业时代一样&#xff0c;会带来天翻地覆的变革&#xff0c;影响人类社会百年、甚至千年的进程。 而AI算力对于推动人工智能应用的重要性毋…...

预防缓存穿透工具类

1. 前言 缓存穿透大家都知道&#xff0c;这里简单过一下 缓存和数据库中都没有的数据&#xff0c;而用户不断发起请求。比如查询id -1 的值 想着很多面向C端的查询接口&#xff0c;可能都需要做一下缓存操作&#xff0c;这里简单写了个自定义注解&#xff0c;将查询结果(包含…...

CANN/cann-learning-hub:Swan LLM 大模型实战课程

【免费下载链接】cann-learning-hub CANN 学习中心仓&#xff0c;支持在线互动运行、边学边练&#xff0c;提供教程、示例与优化方案&#xff0c;一站式助力昇腾开发者快速上手。 项目地址: https://gitcode.com/cann/cann-learning-hub SwanLab x CANN 社区合作课程 Swa…...

AndroidCupsPrint:解锁手机无线打印的终极密钥,告别数据线束缚!

AndroidCupsPrint&#xff1a;解锁手机无线打印的终极密钥&#xff0c;告别数据线束缚&#xff01; 【免费下载链接】AndroidCupsPrint Port of cups4j to Android. Allows wireless printing from any Android device to any CUPS-enabled print server or network printer. …...

2026年京东云OpenClaw/Hermes Agent配置Token Plan部署详细教程

2026年京东云OpenClaw/Hermes Agent配置Token Plan部署详细教程。OpenClaw是开源的个人AI助手&#xff0c;Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具&…...

2026年AI Agent正在变成企业的数字员工

本文探讨了技术圈对AI关注焦点的转变&#xff0c;从单纯关注模型能力转向关注AI Agent的实际应用价值。通过引用Anthropic和Material联合调研报告&#xff0c;文章指出AI Agent已广泛应用于多阶段工作流、生产代码开发、数据分析和内部流程自动化&#xff0c;并带来可衡量的经济…...

嵌入式AI转型实战:从传统MCU开发到端侧智能部署

1. 项目概述&#xff1a;当嵌入式遇上AI&#xff0c;一场静默的变革最近和几个在芯片原厂、消费电子和工业控制领域干了十多年的老伙计聊天&#xff0c;话题总绕不开一个词&#xff1a;AI。不是那种高谈阔论的未来畅想&#xff0c;而是实实在在的焦虑和困惑。一个做电机驱动的兄…...

【人工智能核心技术详解】7 深度神经网络正则化技术体系_贝叶斯视角下的统一理论

深度神经网络正则化技术体系:贝叶斯视角下的统一理论手册 文章架构总览 #mermaid-svg-lhtjBcaOxIDdpUDM{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes …...

OBS智能镜头:5分钟实现直播自动对焦,让镜头始终跟随你

OBS智能镜头&#xff1a;5分钟实现直播自动对焦&#xff0c;让镜头始终跟随你 【免费下载链接】obs-face-tracker Face tracking plugin for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-face-tracker 你是否在直播时经常需要手动调整摄像头角度&#…...

终极免费解锁Cursor Pro高级功能:完整解决方案深度解析

终极免费解锁Cursor Pro高级功能&#xff1a;完整解决方案深度解析 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tr…...

零基础转专业计算机机试,我用这5道题帮你摸清浙工大出题套路(附C++代码)

零基础转专业计算机机试&#xff1a;5道真题破解浙工大出题密码&#xff08;附C实战代码&#xff09; 第一次面对计算机转专业机试时&#xff0c;我盯着屏幕上闪烁的光标&#xff0c;手指悬在键盘上方却不知从何下手。那种面对陌生题型的茫然感&#xff0c;至今记忆犹新。现在作…...

3步掌握HTTrack:免费网站离线下载工具终极指南

3步掌握HTTrack&#xff1a;免费网站离线下载工具终极指南 【免费下载链接】httrack HTTrack Website Copier, copy websites to your computer (Official repository) 项目地址: https://gitcode.com/gh_mirrors/ht/httrack 你是否经常遇到网络不稳定&#xff0c;却急需…...