链表OJ:环形链表

 

Lei宝啊:个人主页 

愿所有美好与我们不期而遇


 

题目描述 :

给你一个链表的头节点 head ,判断链表中是否有环。

接口:

bool hasCycle(struct ListNode *head)

示例1:

示例2:

 

返回值: 

true或false

思路

使用快慢指针:

快的追慢的,如果有环,在相对速度差合适的情况下就可以追得到,返回true,无环就返回false,这里我们采取速度差为1,每一次相对距离接近1,最后快的追上慢的。

实现代码

​
bool hasCycle(struct ListNode* head) {struct ListNode* slow = head;struct ListNode* fast = head;while (fast && fast->next){slow = slow->next;fast = fast->next->next;if (slow == fast){return true;}}return false;
}​

 

 该速度差为一,也就是说每次两者的距离都会靠近一,所以一定追得上,那么速度差为n时什么情况我们追不上呢?

当距离差为N,N是偶数,速度差为偶数,追得上。N是奇数,速度差为偶数就会错过,然后错过后两者的相对距离还要再次判断和计算是否为偶数,从而产生了永远也追不上的可能性。速度差为奇数也是同样的道理,这里就体现出速度差为1的好处,他一定追得上,而不用去考虑是否有可能会永远也追不上。

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

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

相关文章

十分钟配置好Neovim go开发环境(其他语言一样)

文章目录 前言仓库地址用法快捷键问题反馈 前言 这篇文章的目的是为了分享下我自己的Neovim配置。 本人是Golang程序员,最开始使用的IDE是JetBrains Goland。有一说一这个ide适配度很高,认识的很多人都使用这个。但是它也有几个对我来说的缺点&#xf…

认识C语言

目录 1.C语言的发展历史 2.C语言的特点 3.C语言的应用领域 1.C语言的发展历史 C语言的发展历史可以追溯到20世纪60年代。在那个时候,计算机科学领域存在着多种编程语言,但它们在功能、效率和可移植性等方面存在一些限制。 C语言的起源可以追溯到贝尔实…

在矩池云使用Llama2-7B的具体方法

今天给大家分享如何在矩池云服务器使用 Llama2-7b模型。 硬件要求 矩池云已经配置好了 Llama 2 Web UI 环境,显存需要大于 8G,可以选择 A4000、P100、3090 以及更高配置的等显卡。 租用机器 在矩池云主机市场:https://matpool.com/host-m…

快应用编译前如何统一替换字符串

假设你有一个需求,要把代码里的ad-button替换为div,因为是mi看ad-button不爽。 这还不简单么,webpack有那么多成熟的plugins和loaders,本身我对webpack也只是略知一二,随便一搜网上的解决方案, string-re…

发点实用的快捷键(mac

切换输入法:ctrlspace /ctrloptionspace(更快捷 切换网页: shifttab 切换应用界面:alttab 关闭页面:altw 搜索:altspace 展示mac隐藏文件: Commangshift . (点) 以下是一些浏览器快捷键&am…

Windows磁盘清理

针对开发同学,磁盘不够用时,常见的需要清理的内容: 1、虚拟机镜像、Docker镜像等。 通常占用比较大的存储,一个实例从几个G到几十个G。 2、Maven本地仓库。 如果公司有私服,可以全部删掉重新依赖,否则不…

Spring优雅的在事务提交/回滚前后插入业务逻辑

业务背景 业务那边想要统计下我们这边每天注册商户成功和失败的数量,你看看怎么给他弄下这个功能 功能实现 TransactionSynchronizationManager.registerSynchronization,发现这是spring事务提供的注册回调接口的方法。 在事务注解方法中&#xff0c…

【嵌入式学习笔记】嵌入式入门1——GPIO

1.什么是GPIO General Purpose Input Output,即通用输入输出端口,简称GPIO,作用是负责采集外部器件的信息或者控制外部器件工作,即输入输出。 2.STM32 GPIO简介 2.1.GPIO特点 不同型号,IO口数量可能不一样&#x…

融合大数据、物联网和人工智能的智慧校园云平台源码 智慧学校源码

电子班牌系统用以展示各个班级的考勤信息、授课信息、精品课程、德育宣传、班级荣誉、校园电视台、考场信息、校园通知、班级风采,是智慧校园和智慧教室的对外呈现窗口,也是学校校园文化宣传和各种信息展示的重要载体。将大数据、物联网和人工智能等新兴…

1.2 eureka注册中心,完成服务注册

目录 环境搭建 搭建eureka服务 导入eureka服务端依赖 编写启动类,添加EnableEurekaServer注解 编写eureka配置文件 启动服务,访问eureka Euraka服务注册 创建了两个子模块 在模块里导入rureka客户端依赖 编写eureka配置文件 添加Services 环境搭建 创建父…

Python批量将Excel内指定列的数据向上移动一行

本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,对其中的每一个文件加以操作——将其中指定的若干列的数据部分都向上移动一行,并将所有操作完毕的Excel表格文件中的数据加以合并,生成一个新的Excel文件的方法。 首…

Qt应用开发(基础篇)——布局管理 Layout Management

目录 一、前言 二:相关类 三、水平、垂直、网格和表单布局 四、尺寸策略 一、前言 在实际项目开发中,经常需要使用到布局,让控件自动排列,不仅节省控件还易于管控。Qt布局系统提供了一种简单而强大的方式来自动布局小部件中的…

探究SAM和眼球追踪技术在自动医学图像分割的应用(2023+GazeSAM: What You See is What You Segment)

摘要: 本研究探讨眼动追踪技术与SAM的潜力,以设计一个协同的人机交互系统,自动化医学图像分割。提出了GazeSAM系统,使放射科医生能够在图像诊断过程中通过简单地查看感兴趣的区域来收集分割掩模。该系统跟踪放射科医生的眼球运动…

Acwing.873.欧拉函数

题目 给定n个正整数ai,请你求出每个数的欧拉函数。 输入格式 第一行包含整数n。 接下来n行,每行包含一个正整数ai。 输出格式 输出共n行,每行输出一个正整数an的欧拉函数。 数据范围 1 ≤n ≤100 1≤ai≤2* 109 输入样例: 3 3 6 8输…

企业服务器数据库中了_locked勒索病毒怎么解密,_勒索病毒简介与防护

网络技术的发展也为互联网安全带来了一定威胁,对于企业来说,数据安全是关系整个企业正常运行的基础,保护好计算机免受网络威胁的攻击成为大家的一致目标。不过,近期,我们收到很多企业的求助,企业的服务器数…

如何让python在手机上运行,python在手机上怎么运行

大家好,小编来为大家解答以下问题,python程序如何在手机上运行,如何让python在手机上运行,现在让我们一起来看看吧! 在计算机语言的运用过程中PythonS60手机是经常被使用的计算机语言,以下的文章是介绍Pyth…

流控平台Sentinel搭建和接入教程

流量控制和限流是大型系统必不可少的组成部分,Sentinel是Alibaba提供的一款特别好用的专业工具,属于那种看起来很牛,用起来也很牛的工具,下面记录一下接入的过程。 一,搭建平台 1,下载jar包 地址&#x…

Robot Framweork之UI自动化测试---元素定位的4种方式

在Robot Framweork的UI自动化测试中,元素定位主要有四种,即通过id,name,xpath和CSS定位。 一、id定位 id就好比一个人身份证,元素在 HTML 页面中的唯一标识符,因此 ID 定位方式是最常用的方式之一&#xf…

C++标识符的作用域与可见性

标识符是一个由程序员定义的名称,为标识区别变量、函数和数据类型等,代表程序的某些元素,变量名就是标识符的一个展现。 作用域讨论的是标识符的有效范围,可见性讨论的是标识符是否可以被引用。在一个函数中声明的变量就只能在这个…

网络安全进阶学习第八课——信息收集

文章目录 一、什么是信息收集?二、信息收集的原则三、信息收集的分类1.主动信息收集2.被动信息收集 四、资产探测1、Whois查询#常用网站: 2、备案信息查询#常用网站: 3、DNS查询#常用网站: 4、子域名收集#常用网站:#常…