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

算法练习题19——leetcode141环形链表

题目描述

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

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。

如果链表中存在环 ,则返回 true 。 否则,返回 false 。

 

HashSet

/*** Definition for singly-linked list.* class ListNode {*     int val;*     ListNode next;*     ListNode(int x) {*         val = x;*         next = null;*     }* }*/
public class Solution {public boolean hasCycle(ListNode head) {// 使用 HashSet 存储访问过的节点Set<ListNode> visited = new HashSet<>();ListNode curr = head;// 遍历链表while (curr != null) {// 如果当前节点已经在 visited 中,说明有环if (visited.contains(curr)) {return true;}// 否则,将当前节点加入 visitedvisited.add(curr);curr = curr.next;}// 遍历完链表,没有发现环return false;}
}

快慢指针

如果有环的话 那么快的总有一天会追上慢的 比如说环形操场 而且不会跑丢 就是不会为空的 所以判断无环的条件就是判断指针是否为空

public class Solution {public boolean hasCycle(ListNode head) {if (head == null || head.next == null) {return false; // 如果链表为空或只有一个节点,肯定没有环}ListNode slow = head;ListNode fast = head.next;while (slow != fast) {if (fast == null || fast.next == null) {return false; // 如果 fast 或 fast.next 为 null,说明链表没有环}slow = slow.next;         // 慢指针每次移动一步fast = fast.next.next;    // 快指针每次移动两步}return true; // 如果 slow == fast,说明链表有环}
}

相关文章:

算法练习题19——leetcode141环形链表

题目描述 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&a…...

基于人类反馈的强化学习概述

文章目录 RLHF 概述人类反馈数据的收集由于对齐标准难以通过形式化的优化目标进行建模,因此研究人员提出了基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF),引入人类反馈对大语言模型的行为进行指导。我们将首先介绍基于人类反馈的强化学习的整…...

【SIT1463Q】带振铃抑制功能的CAN收发器,替代TJA1463

【SIT1463Q】带振铃抑制功能的CAN收发器&#xff0c;替代TJA1463 SIT1463Q核心亮点&#xff1a; 满足ISO11898-2:2016高速CAN规范的物理层要求和CiA601-4&#xff1a;2019 SIC规范要求。 支持高达8Mbps的数据速率。 更稳定的位时序&#xff0c;比特对称性增强&#xff0c;降低…...

CCF刷题计划——坐标变换(其二)(前缀和)

坐标变换&#xff08;其二&#xff09; 首先我按照一般的逻辑写出来&#xff0c;居然超时了&#xff1f;&#xff1f;&#xff1f; 之后想了想&#xff0c;还是觉得大有可为的&#xff0c;对拉伸前缀积&#xff0c;对旋转前缀和成功解决问题。 80分&#xff1a;超时 #inclu…...

游戏开发简述

《黑神话&#xff1a;悟空》爆红后&#xff0c;游戏开发一时成为热点。作为个人或小公司&#xff0c;能否进入游戏开发领域。从纯技术角度而言&#xff0c;并不是可望不可即&#xff1a; 另&#xff1a;学会了&#xff0c;哪怕自己干不成&#xff0c;招游戏开发的岗位也不少&am…...

最新前端开发VSCode高效实用插件推荐清单

在此进行总结归类工作中用到的比较实用的、有助于提升开发效率的VSCode插件。大家有其他的好插件推荐的也欢迎留言评论区哦&#x1f604; 基础增强 Chinese (Simplified) Language Pack: 提供中文界面。 Code Spell Checker: 检查代码中的拼写错误。 ESLint: 集成 ESLint&…...

分布式调度方案:Elastic-Job

文章目录 一、什么是分布式调度二、Elastic-Job 介绍三、Elastic-Job 实战3.1 环境搭建3.1.1 本地部署3.1.2 服务器部署3.1.3 Zookeeper 管控台界面 3.2 入门案例3.3 SpringBoot 集成 Elastic-Job3.4 任务分片&#xff08;★&#xff09;3.5 Dataflow 类型调度任务 一、什么是分…...

网络安全工程师(白帽子)企业级学习路线

第一阶段&#xff1a;安全基础&#xff08;入门&#xff09; 第二阶段&#xff1a;Web渗透&#xff08;初级网安工程师&#xff09; 第三阶段&#xff1a;进阶部分&#xff08;中级网络安全工程师&#xff09;...

数据结构详细解释

数据结构 1. 线性数据结构 数组&#xff08;Array&#xff09; 定义&#xff1a;数组是一种固定大小的、元素类型相同的线性数据结构。元素在内存中是连续存储的&#xff0c;可以通过索引直接访问。 特点&#xff1a; 支持常数时间的随机访问&#xff08;O(1)&#xff09;。…...

7.1图像平移

目录 实验原理 示例代码&#xff11; 运行结果&#xff11; 示例代码&#xff12; 运行结果&#xff12; 实验原理 OpenCV中&#xff0c;图像平移是一种基本的几何变换&#xff0c;指的是将图像中的每一个像素点沿着水平方向或垂直方向移动一定的距离。图像平移不改变图像…...

海外云手机是否适合运营TikTok?

随着科技的迅猛发展&#xff0c;海外云手机逐渐成为改变工作模式的重要工具。这种基于云端技术的虚拟手机&#xff0c;不仅提供了更加便捷、安全的使用体验&#xff0c;还在电商引流和海外社媒管理等领域展示了其巨大潜力。那么&#xff0c;海外云手机究竟能否有效用于运营TikT…...

IT 行业中常见的专业名称及其含义

API&#xff08;Application Programming Interface&#xff09; API 是应用程序编程接口&#xff0c;定义了不同软件系统之间如何互相通信的规则和方式。开发人员使用 API 将应用程序与外部服务集成&#xff0c;进行数据交换或调用外部功能。 IDE&#xff08;Integrated Deve…...

全球开店,Shopee东南亚入驻指南|用友BIP电商通引领电商出海新潮流

在全球化的浪潮中&#xff0c;东南亚市场以其蓬勃的发展态势成为中国企业出海的首选之地。得益于其语言、物流、仓储、距离及政策的友好性&#xff0c;东南亚市场已成为企业海外拓展的必争之地。作为东南亚领先的电商平台&#xff0c;Shopee以其庞大的用户基础和高度的用户活跃…...

java当中什么是NIO

Java中的NIO&#xff08;Non-blocking I/O&#xff09;即非阻塞I/O&#xff0c;是Java 1.4中引入的一种新的I/O API&#xff0c;用于替代传统的I/O&#xff08;即BIO, Blocking I/O&#xff09;。与传统的阻塞式I/O相比&#xff0c;NIO提供了更高效的I/O操作&#xff0c;特别是…...

【基础】Three.js 自定义几何体和复制几何体

通过自定义顶点数据&#xff0c;可以创建任意的几何体。像threejs的长方体BoxGeometry、球体SphereGeometry等几何体都是基于BufferGeometry类构建的&#xff0c;它表示一个没有任何形状的空几何体。 1. 自定义点模型 通过javascript 类型化数组 Float32Array创建一组xyz坐标…...

如何使用ChatGPT进行高效的对话生成与优化

目录 一、对话生成的基础原理 二、如何优化对话生成的流畅性与上下文关联性 1. 提示词优化&#xff1a;明确上下文和期望目标 示例&#xff1a;提示词优化 2. 调整生成参数&#xff1a;控制生成长度与内容多样性 示例&#xff1a;调整生成参数 3. 上下文管理&#xff1a…...

MySQL系列—8.存储结构

目录 1.系统表空间 ibdata 2.通用表空间 .ibd 3.独立表空间 4.Undo 表空间 5.临时表空间 6.Redo Log File 1.系统表空间 ibdata 系统表空间由参数innodb_data_file_path定义路径、初始化大小、自动扩展策略 如&#xff1a; innodb_data_file_path/dayta/mysql/ibdata1:…...

vue2、vue3生成二维码

Vue2版&#xff1a; 工具&#xff1a;使用 qrcodejs插件来生成二维码 安装&#xff1a;npm install qrcodejs2 qrcodejs官网地址&#xff1a; https://davidshimjs.github.io/qrcodejs/https://davidshimjs.github.io/qrcodejs/ 代码示例&#xff1a; <template><…...

Spring Cloud全解析:熔断之Hystrix线程隔离导致的问题

Hystrix线程隔离 在微服务框架中&#xff0c;可能一个服务需要调用多个微服务&#xff0c;在tomcat中运行时&#xff0c;tomcat只是分配了100个线程&#xff0c;由于多个服务之间调用的时间消耗过长&#xff0c;可能会导致线程耗尽&#xff0c;而在Hystrix中存在线程隔离&…...

网络编程项目(云词典项目)

目录 一、功能要求 服务器 用户客户端 二、演示效果 1.登录、注册功能 2. 查单词功能 3.查看历史纪录功能 三、项目代码 1.头文件 2.服务器 3.用户端 一、功能要求 仿照云词典的原理&#xff0c;实现云词典功能&#xff0c;用户可以查询输入的单词的英文解释&…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

WebRTC从入门到实践 - 零基础教程

WebRTC从入门到实践 - 零基础教程 目录 WebRTC简介 基础概念 工作原理 开发环境搭建 基础实践 三个实战案例 常见问题解答 1. WebRTC简介 1.1 什么是WebRTC&#xff1f; WebRTC&#xff08;Web Real-Time Communication&#xff09;是一个支持网页浏览器进行实时语音…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...