C语言 | Leetcode C语言题解之第457题环形数组是否存在循环

embedded/2024/12/22 9:11:58/

题目:

题解

int next(int* nums, int numsSize, int cur) {return ((cur + nums[cur]) % numsSize + numsSize) % numsSize;  // 保证返回值在 [0,n) 中
}bool circularArrayLoop(int* nums, int numsSize) {for (int i = 0; i < numsSize; i++) {if (!nums[i]) {continue;}int slow = i, fast = next(nums, numsSize, i);// 判断非零且方向相同while (nums[slow] * nums[fast] > 0 && nums[slow] * nums[next(nums, numsSize, fast)] > 0) {if (slow == fast) {if (slow != next(nums, numsSize, slow)) {return true;} else {break;}}slow = next(nums, numsSize, slow);fast = next(nums, numsSize, next(nums, numsSize, fast));}int add = i;while (nums[add] * nums[next(nums, numsSize, add)] > 0) {int tmp = add;add = next(nums, numsSize, add);nums[tmp] = 0;}}return false;
}

http://www.ppmy.cn/embedded/125925.html

相关文章

c#代码介绍23种设计模式_16迭代器模式

目录 1、迭代器模式的介绍 2、迭代器模式的定义 3、迭代器模式的结构 4、代器模式角色组成 5、迭代器实现 6、迭代器模式的适用场景 7、迭代器模式的优缺点 8、.NET中迭代器模式的应用 9、实现思路 1、迭代器模式的介绍 迭代器是针对集合对象而生的,对于集合对象而言…

C++ socket编程(1)

这里是一个socket编程Demo&#xff0c;不考虑出错情况&#xff0c;代码简单&#xff0c;便于了解socket流程。 Demo分为服务器程序和客户端程序&#xff0c;运行需要先启动服务器程序&#xff0c;再启动客户端程序。 服务器会等待连接&#xff0c;客户端连接后&#xff0c;服…

Windows电脑安装FileBrowser文件管理系统结合内网穿透打造个人网盘

文章目录 前言1.下载安装File Browser2.启动访问File Browser3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 &#x1f4a1; 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&…

【redis-07】redis实现主从复制架构和底层原理

redis系列整体栏目 内容链接地址【一】redis基本数据类型和使用场景https://zhenghuisheng.blog.csdn.net/article/details/142406325【二】redis的持久化机制和原理https://zhenghuisheng.blog.csdn.net/article/details/142441756【三】redis缓存穿透、缓存击穿、缓存雪崩htt…

Thinkphp使用Composer插件生成二维码并保存到指定路径

composer require endroid/qr-code 我安装的是 endroid/qr-code": "^4.6 //引入 use Endroid\QrCode\Encoding\Encoding; use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelHigh; use Endroid\QrCode\Label\Alignment\LabelAlignmentCenter; use End…

在macOS上进行开发环境配置与应用开发详细的配置指南

在macOS上进行开发环境配置与应用开发&#xff0c;需要遵循一系列步骤来确保你的开发环境既高效又稳定。以下是一个详细的配置指南&#xff0c;涵盖了从安装基本工具到创建应用的整个过程。 1. 安装和更新macOS 首先&#xff0c;确保你的macOS是最新版本。更新系统可以提供更…

机器学习与神经网络:开启物理学的新篇章

近日&#xff0c;2024年诺贝尔物理学奖的颁发引发了全球热议&#xff0c;尤其是首次将这项传统上授予物理学研究者的奖项颁给了机器学习与神经网络领域的科学家。这一举动标志着人工智能技术&#xff0c;尤其是深度学习技术&#xff0c;正在深入影响科学的各个领域&#xff0c;…

【论文阅读】Segment Anything Model for Road Network Graph Extraction

【论文阅读】Segment Anything Model for Road Network Graph Extraction (CVPRW 2024) Paper链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2024W/SG2RL/html/Hetang_Segment_Anything_Model_for_Road_Network_Graph_Extraction_CVPRW_2024_paper.html 文章目录…