网站产品推广北京百度推广优化公司

diannao/2026/1/17 10:57:15/文章来源:
网站产品推广,北京百度推广优化公司,单位网站建设汇报材料,工程公司税率是多少难度参考 难度#xff1a;中等 分类#xff1a;链表 难度与分类由我所参与的培训课程提供#xff0c;但需要注意的是#xff0c;难度与分类仅供参考。且所在课程未提供测试平台#xff0c;故实现代码主要为自行测试的那种#xff0c;以下内容均为个人笔记#xff0c;旨在…难度参考 难度中等 分类链表 难度与分类由我所参与的培训课程提供但需要注意的是难度与分类仅供参考。且所在课程未提供测试平台故实现代码主要为自行测试的那种以下内容均为个人笔记旨在督促自己认真学习。 题目 给定一个链表返回链表开始入环的第一个节点。如果链表无环则返回u。为了表示给定链表中的环使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1则在该链表中没有环。         示例1:         输入head[3,2,0,-4],pos1         输出节点2         解释链表中有一个环其尾部连接到第二个节点。 额外要求不允许修改给定的链表 思路 为了解决这个问题首先需要了解 Floyd 的循环检测算法又称为龟兔赛跑算法。该算法的核心思想是使用两个指针以不同的速度移动一个快指针通常称为 “hare”和一个慢指针通常称为 “tortoise” 或 “turtle”。“hare” 以两倍的速度移动两个节点一次而 “tortoise” 以单倍速度移动一个节点一次。 当两个指针都进入环时快指针最终会追上慢指针。这是因为每次移动时快指针都比慢指针多走一步。一旦快慢指针在环内相遇我们就可以确定链表内确实存在一个环。 接下来找出环的入口点。当快慢指针第一次相遇将快指针或慢指针重新设置到链表起点这次两个指针都以相同速度前进每次移动一个节点。当它们再次相遇的点就是环的入口。 示例 假设有以下链表 3 - 2 - 0 - -4^ || v---------- 初始化两个指针 turtle乌龟 和 hare兔子它们都指向链表的头部节点 head值为3的节点。 循环开始hare 以2步的速度移动turtle 以1步的速度移动。在第一次迭代后turtle 指向值为2的节点hare 指向值为-4的节点。 继续迭代hare 继续2步步进移动到值为2的节点因为链表有环turtle 移动1步现在指向值为0的节点。 继续迭代由于环的存在hare 和 turtle 最终在值为0的节点相遇。这意味着链表有环。 在确认链表有环之后将其中一个指针这里是 turtle移回到链表的头部然后以相同的速度每次移动一步移动两个指针当它们相遇时即为环的起点。 在这个迭代中turtle 从值为3的节点开始而 hare 从值为0的节点开始。二者都向前移动一步。在第二步中turtle 指向值为2的节点hare 也指向值为2的节点二者相遇这就是环的入口节点。 梳理 当检测到环存在时根据 Floyd 的循环检测算法我们可以确定环入口的位置。这是由以下数学逻辑得出的 让我们假设 链表头部到环入口的距离有 A 个节点环入口到乌龟和兔子的相遇点有 B 个节点相遇点回到环入口有 C 个节点 因此当乌龟和兔子在相遇点相遇时 乌龟走了 A B 步兔子走了 A B k(C B) 步其中 k 是兔子在环里跑了完整的圈数 因为兔子走得快速度是乌龟的两倍所以兔子走的步数是乌龟的两倍得到等式 2(A B) A B k(C B)通过简化等式我们得到 A k(C B) - B进一步简化得到 A C (k-1)(C B) 这个等式表示从头部到环入口的距离 A 等于相遇点到环入口的距离 C 加上 (k-1) 个环的长度 (C B)。 等式说明从链表头部到环入口的距离可以通过从相遇点继续走过 C又或者走过 C 整数倍的环长度(因为完整走过环的任何倍数你都会再次回到相同的点)。这正是 Floyd 算法中的关键部分。 因此我们可以 将一个指针重置到链表的起点。让两个指针一个从链表起点另一个从相遇点以相同的速度移动每次一步。两个指针相遇的地方就是环入口。 所以当这两个指针再次相遇时该位置就是链表的环入口节点。在前面的例子中图形化的解释就是从头节点出发到达环入口节点值2需要走两步从相遇点节点值0继续走回到环入口节点值2也正好是两步因此两个指针会在环入口节点相遇。 代码 #include iostream // 引入输入输出流库 using namespace std; // 使用标准命名空间// 链表节点定义 struct ListNode {int val; // 节点值ListNode* next; // 下一个节点指针ListNode(int x) : val(x), next(nullptr) {} // 初始化构造函数 };// 检测链表是否有环并返回环入口节点的函数 ListNode *getIntersectionNode(ListNode *head) {ListNode *turtle head; // 初始化慢指针为头部ListNode *hare head; // 初始化快指针为头部// 使用快慢指针检测环bool isCycle false; // 记录是否存在环while (hare ! nullptr hare-next ! nullptr) {turtle turtle-next; // 慢指针前进一步hare hare-next-next; // 快指针前进两步if (turtle hare) { // 若快慢指针相遇isCycle true; // 确认有环break; // 跳出循环}}if (!isCycle) {return nullptr; // 无环返回 nullptr}// 寻找环的入口turtle head; // 将慢指针重置到头部while (turtle ! hare) { // 当快慢指针不相遇turtle turtle-next; // 慢指针前进一步hare hare-next; // 快指针前进一步}return hare; // 返回环的入口节点 }// 主函数 int main() {// 创建链表并设置成环形ListNode *head new ListNode(3); // 头部节点值为3head-next new ListNode(2); // 第二个节点值为2head-next-next new ListNode(0); // 第三个节点值为0head-next-next-next new ListNode(-4); // 第四个节点值为-4// 设置环形链表指向位置 pos 1即节点值为2的节点head-next-next-next-next head-next;// 检测环入口节点ListNode *entry getIntersectionNode(head);// 如果存在环入口节点则输出否则输出 nullptrif (entry ! nullptr) {cout 节点 entry-val endl; // 存在环输出环入口节点的值} else {cout nullptr endl; // 无环的情况输出 nullptr}// 已省略删除链表节点。return 0; // 程序结束 } 打卡

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

容桂网站建设哪家公司好手机编辑WordPress博客

说明:datatables是一款jQuery表格插件。感觉EasyUI的datagrid更易用 内容:多选框和服务器端分页 缘由:写这篇博客的原因是datatables的文档写的不怎么样,找东西很麻烦 环境:asp.net mvc , vs2015sqlserver2012 显示效…

泛站群软件开发工具框图

https://blog.csdn.net/u014453443/article/details/98057251

网络教育做的好的网站网络推广图片大全

数据表每个字段所占空间,需要计算出来.在设计表尽量少占用空间,这样在批量插入时单次插入的条数会增加.从而提高效率 数字类型 类型占用字节tinyint1个字节smallint2个字节mediumint3个字节int4个字节bigint8个字节float4个字节double8个字节DECIMAL定义为DECIMAL(M,D) 则占用…

网站页面锚点怎么做信息化建设 调查报告 乡镇网站

Query option是指客户端在获取EntitySet的URL中后缀的一些指令,在第一篇第四小节我们已经见识了一部分Query指令。在下面表中列出了最重要的QueryOption。注意指令在URL中必须小写。 Operation Query Option Filtering and projecting $filter and $select Sort…

参与网站建设的人员吕梁推广型网站开发

论文地址:https://openreview.net/pdf?id=OjPmfr9GkVv代码地址:https://github.com/yhy1117/X-Mixup 字节跳动人工智能实验室和加利福尼亚大学圣塔芭芭拉分校的研究者提出了 跨语言流形混合(X-Mixup)方法为目标语言提供 “折衷” 的表示,让模型自适应地校准表示差…

网站安全怎么做推广普通话顺口溜

求大家给给建议😭😭 自己算法几乎没刷过,项目也不咋好 打算21号开始投日常实习 好慌

怎样做天猫网站视频人武部正规化建设经验

目录 时间序列网络 NARX 网络 NAR 网络 非线性输入-输出网络 定义问题 使用神经网络时间序列拟合时间序列数据 使用命令行函数拟合时间序列数据 选择数据 选择训练算法 创建网络 准备要训练的数据 划分数据 训练网络 测试网络 查看网络 分析结果 闭环网络 向…

外贸网站啥需要掌握在自己手里鞍山前程无忧招聘网

控制结构 if-else: 关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号 } 必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的。 格式如下: if cond…

东莞关键词优化外包性价比高seo排名优化的

使用hbuilderx的uniapp框架开发移动端程序很方便,可以很方便地开发出移动端的小程序和app。但是打包ios版本的app的时候却很麻烦,官方提供的教程需要使用mac电脑来生成证书,但是mac电脑却不便宜,一般的型号都差不多上万。 因此&a…

server2008 做网站校园网站建设中期报告

我们在使用电脑浏览网页的时候有可能会想截取整篇网页,由于页面在电脑上显示不全,阅读的时候都需要滚动条来看,直接截屏根本截不全整个网页,这时候就需要截取网页的长截图了,那么怎么使用浏览器截长图呢? 1、以Edge浏…

昆明网站建设方案优化有没有网址免费的

在最新发布的 Apache Doris 2.1 新版本中,我们引入了全新的数据类型 Variant,对半结构化数据分析能力进行了全面增强。无需提前在表结构中定义具体的列,彻底改变了 Doris 过去基于 String、JSONB 等行存类型的存储和查询方式。为了让大家快速…

网站建站论坛高端手表品牌排行榜前十名

个人笔记: Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

淮南专业网站建设网站建设者

日志系统设计 2009-12-11 00:46:58| 分类: 技术 | 标签: |字号大中小 订阅 一、重要性日志系统在整个系统架构中的重要性可以称得上基础的基础,但是这一点,都容易被大多数人所忽视。因为日志在很多人看来只是printf。在系…

怎么样提高网站排名织梦cms视频网站建设

题目描述: 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的…

有哪些营销型网站国外界面设计网站

随着AI模型的发展,模型的结构也变得越来越复杂,理解起来越来越困难,这时候能够画一张结构图就好了,就像我们在开发过程中用到的UML类图,能够直观看出不同层之间的关系,于是Netron就来了。 Netron支持神经网…

自己电脑上做的网站 怎么让别人看邯郸信息港人才招聘

在硅谷一线大厂所维护的系统服务中,我们经常可以看见SLA这样的承诺。 例如,在谷歌的云计算服务平台Google Cloud Platform中,他们会写着“99.9% Availability”这样的承诺。那什么是“99.9% Availability”呢? 要理解这个承诺是…

网站界面设计形考对网站做数据统计的目的是什么意思

《公共行政学(专科)》作业 一、单选题 1.“政治与行政二分”最早的提出者是( )。 A.凯恩斯 B.布坎南 C.韦伯 D.威尔逊 2.新公共管理运动肇始于( )。 A.英国 B.美国 C.德国 D.新西兰 …

珠海做网站价格百度商桥在网站

写什么呢前段时间使用 C# 写了个项目,使用 Kubernetes API Server,获取信息以及监控 Kubernetes 资源,然后结合 Neting 做 API 网关。体验地址 http://neting.whuanle.cn:30080/账号 admin,密码 admin123本篇文章主要介绍&#xf…

顺营销官方网站使用wordpress在ec2上建网站

经济学(六) 国际贸易与资本流动国际贸易相关术语开放/封闭经济自由贸易/贸易保护贸易比价国内生产总值与国民生产总值 国际贸易的利弊分析益处弊端 从贸易中获益:比较优势比较优势和绝对优势比较优势的来源 贸易限制和贸易保护施行贸易保护政…

电子商务网站调研上犹网站建设

三年前,我们宣布了该框架的第二个公开可用的主要版本。 CUBA 6是改变游戏规则的版本–许可从专有转为Apache 2.0。 那些日子,我们甚至无法猜测从长远来看它将把框架带到哪里。 CUBA社区开始呈指数级增长,因此我们了解了开发人员如何使用框架的…