Leetcode Top100(23)环形链表
给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。 如果链表中存在环 ,则返回 true 。 否则,返回 false 。
1.hash表方式
2.快慢指针(一个指针每次移动2下 一个只移动一下 如果存在环一定会有相等的时候(在环中,一个指针相对另一个指针移动速度为1)
package TOP21_30;import Util.ListNode;import java.util.HashSet;
import java.util.Set;// 环形链表
/*
给你一个链表的头节点 head ,判断链表中是否有环。
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。
如果链表中存在环 ,则返回 true 。 否则,返回 false 。
*/
public class Top23 {//空间复杂度o(n)public static boolean hasCycle(ListNode head) {//hash表方式if(head==null){return false;}Set<ListNode> nodeSet = new HashSet<>();while (head!=null){if(nodeSet.contains(head)){return true;}nodeSet.add(head);head=head.next;}return false;}// 快慢指针 一个指针每次移动2下 一个只移动一下 如果存在环一定会有相等的时候(在环中,一个指针相对另一个指针移动速度为1)//空间复杂度o(1)public static boolean hasCycle2(ListNode head){if(head == null){return false;}ListNode slow = head;ListNode fast = head.next;while (slow!=fast){if(fast == null ||fast.next ==null){return false;}slow = slow.next;fast = fast.next.next;}return true;}
}
ListNode
package Util;public class ListNode {public int val;public ListNode next;public ListNode() {}public ListNode(int val) {this.val = val;}public ListNode(int val, ListNode next) {this.val = val;this.next = next;}public static ListNode setNodes(int index,int[] nums){ListNode res = new ListNode();res.val = nums[index];if(index == nums.length-1){res.next = null;return res;}else{res.next = setNodes(index+1,nums);}return res;}public static void printListData(ListNode node){while (node!=null){System.out.println(node.val);node = node.next;}}
}
harryptter / LeetcodeTop100 · GitCode
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
Leetcode Top100(23)环形链表
给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索…...
![](https://img-blog.csdnimg.cn/b9faf5e0151d40ecb63d5c09f730ab1f.png)
线性代数基础-行列式
一、行列式之前的概念 1.全排列: 把n个不同的元素排成一列,称为n个元素的全排列,简称排列 (实际上就是我们所说的排列组合,符号是A,arrange) 2.标准序列: 前一项均小于后一项的序列…...
![](https://img-blog.csdnimg.cn/b67afcc471a74aa7a61e985bacfd8979.png)
RT-Thread(学习)
RT-Thread是一款完全由国内团队开发维护的嵌入式实时操作系统(RTOS),具有完全的自主知识产权。经过16个年头的沉淀,伴随着物联网的兴起,它正演变成一个功能强大、组件丰富的物联网操作系统。 RT-Thread概述 RT-Threa…...
![](https://www.ngui.cc/images/no-images.jpg)
【MySQL】 MySQL 死锁问题分析优化器特性及优化方案
MySQL 死锁问题分析优化器特性及解决方案 MySQL 锁机制介绍 1、MySQL常用存储引擎的锁机制 MyISAM和MEMORY采用表级锁(table-level locking) BDB采用页面锁(page-level locking)或表级锁,默认为页面锁 InnoDB支持行级锁(row-level locking)和表级锁,默认为行级…...
![](https://img-blog.csdnimg.cn/d7f3419af68d4a2e9fd2020fb19797c4.png)
【C++面向对象侯捷】8.栈,堆和内存管理
文章目录 栈,堆stack object的生命周期static local object的生命周期global object的生命周期heap objects 的生命期new:先分配memory,再调用构造函数delete: 先调用析构函数,再释放 memory动态分配所得的内存块,in V…...
![](https://img-blog.csdnimg.cn/img_convert/b460b1a1372ed882821fcb6a858e2232.png)
在比特币上使用可检索性证明支付存储费用
我们为用户开发了一种为云存储付费的新方法。 与亚马逊的 S3 等传统云存储相比,用户不必信任服务器。 我们使用比特币智能合约来确保支付取决于服务器的可检索性证明 (PoR),该证明只能在数据仍然可用且需要时可以检索的情况下生成。 可检索性证明 (PoR)…...
![](https://www.ngui.cc/images/no-images.jpg)
使用SSE(Server-Sent Events)实现服务端给客户端发消息
首先是客户端,看着比较简单。但实际应用中可能要比这复杂,因为默认sse只支持get请求,而且没法携带header。所以如果默认的方法达不到需求的话可能需要额外实现,当然也可以引用第三方库,比如rangermauve/fetch-event-so…...
![](https://www.ngui.cc/images/no-images.jpg)
【Redis】使用rpm包安装redis
背景说明 公司环境处于内网,某同事需要安装redis,如果使用通过源码编译安装redis,很多编译工具如gcc就需要先安装,但处于内网安装起来不太方便,当然也不是不可以。我们此处就选用通过redis的rpm包进行安装。 rpm包查…...
论文阅读-Group-based Fraud Detection Network on e-Commerce Platforms
目录 摘要 1 Introduction 2 BACKGROUND AND RELATED WORK 2.1 Preliminaries 2.2 Related Works 3 MODEL 3.1 Structural Feature Initialization 3.2 Fraudster Community Detection 3.3 Training Objective 4 EXPERIMENT 4.1 Experimental Setup 4.2 Prediction …...
![](https://img-blog.csdnimg.cn/62314d7b0cb845348ba1bb54c1bafe26.png)
java程序启动时指定JVM内存参数和Xms、Xmx参数学习
先找个java程序来试验;找这个, java实现计算机图形学中点画线算法_java 多个点连成一条线 算法-CSDN博客 JVM内存参数中, -Xms:设置堆内存的初始大小,默认为物理内存的1/64; -Xmx:设置堆内存的…...
![](https://www.ngui.cc/images/no-images.jpg)
【C++编程能力提升】
代码随想录训练营Day44 | Leetcode 518、377 一、完全背包问题1、完全背包与01背包的区别 二、518 零钱兑换II三、377 组合总和IV 一、完全背包问题 1、完全背包与01背包的区别 第一,物品的有限与无限; 01背包:物品是有限的。(每…...
![](https://img-blog.csdnimg.cn/img_convert/3d4af9446eb3a378b274d7bbd4cbd3bb.png)
FlashDuty Changelog 2023-09-21 | 自定义字段和开发者中心
FlashDuty:一站式告警响应平台,前往此地址免费体验! 自定义字段 FlashDuty 已支持接入大部分常见的告警系统,我们将推送内容中的大部分信息放到了 Lables 进行展示。尽管如此,我们用户还是会有一些扩展或定制性的需求…...
![](https://img-blog.csdnimg.cn/50ef1cfece4c4c95b31b3d22859410cc.png)
贪心算法-
代码随想录 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 这么说有点抽象,来举一个例子: 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿ÿ…...
![](https://img-blog.csdnimg.cn/bd91500472664d9fa80ac79ac15c2c61.png)
漫谈:C语言 C++ 左值、右值、类型转换
编程不是自然语言,编程自有其内在逻辑。 左值引起的BUG 编译器经常给出类似这样的BUG提示: “表达式必须是可修改的左值” “非常量引用的初始值必须是左值” 看一下示例: #include <iostream>void f(int& x) {} int main() {sho…...
![](https://www.ngui.cc/images/no-images.jpg)
前车之鉴,后车之师
问题分类具体解释可能导致的后果解决方法备注主从延迟数据库写后立即读的场景,比如订单落地成功抛消息,消息接收方再读订单推订单中心、发触达、落地数据等场景,再读数据时走从库,可能读不到数据。脏数据业务逻辑有问题延迟消费。…...
![](https://img-blog.csdnimg.cn/e50a63fd4aa144459a4d683ac7906490.png)
WEB使用VUE3实现地图导航跳转
我们在用手机查看网页时可以通过传入经纬度去设置目的地然后跳转到对应的地图导航软件,如果没有下载软件则会跳转到下载界面 注意: 高德地图是一定会跳转到一个新网页然后去询问用户是否需要打开软件百度和腾讯地图是直接调用软件的这个方法有缺陷&…...
![](https://img-blog.csdnimg.cn/img_convert/70815d34cf3f8b40b6ca77fead72f6ab.png)
今天聊一聊高性能系统架构设计是什么样的
Java全能学习面试指南:https://javaxiaobear.cn 今天聊一聊大家常听到的高性能系统架构。 高性能系统架构,主要包括两部分内容,性能测试与性能优化。性能优化又可以细分为硬件优化、中间件优化、架构优化及代码优化,知识架构图如…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
鼠标不动了怎么办?3招解决问题!
“这是怎么回事呢?我的鼠标怎么会用着用着就突然不动了呢?现在有一些比较重要的工作要处理。请问有什么方法可以快速解决这个问题吗?” 随着电脑在我们日常生活和工作中的广泛应用,鼠标是我们操作电脑不可或缺的工具之一。但是&am…...
![](https://www.ngui.cc/images/no-images.jpg)
2023-09-23力扣每日一题
链接: 1993. 树上的操作 题意 **Lock:**指定用户给指定节点 上锁 ,上锁后其他用户将无法给同一节点上锁。只有当节点处于未上锁的状态下,才能进行上锁操作。**Unlock:**指定用户给指定节点 解锁 ,只有当…...
![](https://img-blog.csdnimg.cn/2029821ee8bd45539f50adc01c3543e9.png)
C#中使用Newtonsoft.Charp实现Json对象序列化与反序列化
场景 C#中使用Newtonsoft.Json实现对Json字符串的解析: C#中使用Newtonsoft.Json实现对Json字符串的解析_霸道流氓气质的博客-CSDN博客 上面讲的对JSON字符串进行解析,实际就是JSON对象的反序列化。 在与第三方进行交互时常需要封装对象,…...
![](https://www.ngui.cc/images/no-images.jpg)
Golang开发--互斥锁和读写锁
互斥锁(Mutex) 互斥锁(Mutex)是一种并发控制机制,用于保护共享资源的访问。互斥锁用于确保在任何给定时间只有一个 goroutine(Go 语言中的并发执行单元)可以访问被保护的共享资源,从…...
![](https://www.ngui.cc/images/no-images.jpg)
Springboot 集成WebSocket作为客户端,含重连接功能,开箱即用
使用演示 public static void main(String[] args) throws Exception{//初始化socket客户端BaseWebSocketClient socketClient BaseWebSocketClient.init("传入链接");//发送消息socketClient.sendMessage("填写需要发送的消息", (receive) -> {//这里…...
![](https://www.ngui.cc/images/no-images.jpg)
java调整字符串
package 字符串练习;public class 调整字符串 {/* 如果调整成功则给提示,返回不成功也给提示调整 例如:abcde -> bcdea -> cdeab 就是把第一个值放到最后的位置上现在是给定两个字符串, 选定其中一个进行调整, (我们想一下,如果调整字符串的长度次,那不就是返回到原来的字…...
![](https://img-blog.csdnimg.cn/c33b6e2810f34a748b3cfef7a2a7c46d.png)
2023-9
内核向应用层发送netlink单播消息: nlmsg_unicast -> netlink_unicast -> netlink_sendskb -> __netlink_sendskb -> 把skb链入struct sock 的 sk_receive_queue 链表中,再调用sk->sk_data_ready(sk); -> sock_def_readable -> wak…...
![](https://img-blog.csdnimg.cn/85400546c8b44d8f9fbcfffc9d442bd8.jpg)
软考高级+系统架构设计师教程+第二版新版+电子版pdf
注意!!! 系统架构设计师出新版教程啦,2022年11月出版。所以今年下半年是新版第一次考试,不要再复习老版教程了,内容改动挺大的。 【内容简介】系统架构设计师教程(第2版)作为全国计…...
![](https://img-blog.csdnimg.cn/7bcc750e211541f9bf66388335c5ebeb.png)
【产品运营】如何提升B端产品竞争力(下)
“好产品不是能力内核,做好产品的流程才是” 一、建立需求池和需求反馈渠道 需求池管理是B端产品进化最重要的环节,它的重要性远超产品设计、开发等其他环节。 维护需求池有主动和被动两种。 主动维护是产品经理在参与售前、迭代、交付、售后、竞品分…...
![](https://www.ngui.cc/images/no-images.jpg)
uniapp 微信小程序使用echarts
本文目的:通过分包的方式,尽可能在微信小程序中使用最新的echarts。 当然你也可以直接使用现成的uchart或者市场里别人封好的echarts. 准备工作 下载echarts-for-weixin源码。 复制ec-canvas文件夹以及下属文件,在uniapp项目中与pages同级的地…...
![](https://img-blog.csdnimg.cn/4f1dd682c55047938e645231d3ef7698.png)
【漏洞复现】企望制造 ERP命令执行
漏洞描述 由于企望制造 ERP comboxstore.action接口权限设置不当,默认的配置可执行任意SQL语句,利用xp_cmdshell函数可远程执行命令,未经认证的攻击者可通过该漏洞获取服务器权限。 免责声明 技术文章仅供参考,任何个人和组织…...
![](https://img-blog.csdnimg.cn/3843c68ef1104afcbfe98c4cee2b6fc9.png#pic_center)
2023 “华为杯” 中国研究生数学建模竞赛(E题)深度剖析|数学建模完整代码+建模过程全解全析
问题一 血肿扩张风险相关因素探索建模 思路: 根据题目要求,首先需要判断每个患者是否发生了血肿扩张事件。根据定义,如果后续检查的血肿体积比首次检查增加≥6 mL或≥33%,则判断为发生了血肿扩张。 具体判断步骤: (1) 从表1中提取每个患者的入院首次影像检查…...
![](https://img-blog.csdnimg.cn/78b531f8496d4f4ebb4345bd1e35e903.png)
【腾讯云国际站】CDN内容分发网络特性介绍
为什么使用腾讯云国际站 CDN 内容分发网络? 当用户直接访问源站中的静态内容时,可能面临的体验问题: 客户离服务器越远,访问速度越慢。客户数量越多,网络带宽费用越高。跨境用户访问体验较差。 腾讯云国际站CDN 如何改…...
![](/images/no-images.jpg)
php做商品网站/如何宣传自己的网站
oracle11g关于坏块的修复一:bbed的命令简单介绍,后面用该工具构造块校验和不一致以达到模拟坏块目的show 显示当前所有配置选项info:列出当前bbed能处理的文件set dba fileid,block:设置当前要处理的数据文件id和块号set dba fileidÿ…...
![](/images/no-images.jpg)
wordpress 建站赚钱/百度云搜索引擎官方入口
说明: next(n)表示:命令是next,n是缩写;b表示break;i b表示info break;cond表示condition;r表示run;s表示step;c表示continue;p表示print;bt表示backtrack命令与参数之间有一个空格 调试运行环境相关命令 …...
![](/images/no-images.jpg)
wordpress插件连不上/网站策划运营
培训主题 消费系统培训 消费机功能基本操作介绍 CM20集消费机 出纳机 补贴机功能于一体 机器的操作 分为机器操作和软件操作两大块 其中可以通过机器操作来实现消费机 出纳机 补贴机之间的切换 软件界面简洁清晰 操作方便 功能齐全 系统稳定可靠 大大提升了管理效率 机器硬件核…...
![](/images/no-images.jpg)
wordpress 显示pdf/人工智能培训机构哪个好
上一期与大家探讨了做自媒体需要硬件与软件,今天接着和大家探讨做自媒体的心得二,做自媒体如何赚钱盈利,做自媒体该怎么样去做?从哪方面去做等问题。 怎么做自媒体,做自媒体如何赚钱盈利 一、是做图文自媒体 图文就是…...
![](http://static.oschina.net/uploads/img/201602/25162830_nvvS.jpg)
wordpress smtp插件/免费放单平台无需垫付
2019独角兽企业重金招聘Python工程师标准>>> 在项目中加入附件中的DevExpress.Localization.v10.1.dll引用 winform: 在MDI MainForm 的FormLoad事件中加入以下sources DevExpress.Utils.Localization.AccLocalizer.Active new DevExpress.LocalizationCHS.DevExpr…...
![](/images/no-images.jpg)
国企网站建设合同/深圳网站设计公司
文章目录一.原型链机制1. 原型链的本质2. 引用类型的构造函数3. 基本类型的包装类二. 对象与属性1. 对象直接打点验证某个属性是否存在4. instanceof 运算符三. 继承1. 原型链继承2. 构造函数继承3. 组合继承一.原型链机制 1. 原型链的本质 只要是对象,一定有原型…...