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

ops/2024/10/18 8:32:26/

题目:

题解

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/ops/122317.html

相关文章

Python办公自动化教程(005):Word添加段落

文章目录 2.1 Python-docx介绍2.2 安装2.3 实例 2.1 Python-docx介绍 python-docx 是一个用于创建和修改 Microsoft Word 文档&#xff08;.docx 格式&#xff09;的 Python 库。它可以方便地生成和处理 Word 文档&#xff0c;而无需直接与 Microsoft Word 程序交互。 2.2 安…

Redisson的trylock()与lock()区别

1、使用方法 RLock lock redissonClient.getLock("test");lock.lock();try {// 业务逻辑} finally {lock.unlock();}RLock lock redissonClient.getLock("test");boolean result lock.tryLock();if (result) {try {// 业务逻辑} finally {lock.unlock()…

【分布式微服务云原生】OpenFeign:微服务通信的瑞士军刀

OpenFeign&#xff1a;微服务通信的瑞士军刀 摘要 在微服务架构中&#xff0c;服务间的通信是构建分布式系统的关键。OpenFeign&#xff0c;作为Spring Cloud生态系统中的一员&#xff0c;提供了一种声明式、简洁的方法来处理HTTP客户端的开发。本文将介绍OpenFeign的核心功能…

Vue入门-指令学习-v-else和v-else-if

v-else和v-else-if 作用&#xff1a;辅助v-if进行判断渲染 语法&#xff1a;v-else v-else-if"表达式" 注意&#xff1a;需要紧挨着v-if一起使用 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><m…

系统架构设计师-论文题(2021年下半年)

1.试题一 论面向方面的编程技术及其应用针对应用开发所面临的规模不断扩大、复杂度不断提升的问题&#xff0c;面向方面的编程Aspect Oriented Programming,AOP技术提供了一种有效的程序开发方法。为了理解和完成一个复杂的程序&#xff0c;通常要把程序进行功能划分和封装。一…

YOLOv10涨点改进:IoU优化 | Unified-loU,用于高品质目标检测的统一loU ,2024年8月最新IoU

💡💡💡现有IoU问题点:IoU (Intersection over Union)作为模型训练的关键,极大地显示了当前预测框与Ground Truth框之间的差异。后续研究者不断在IoU中加入更多的考虑因素,如中心距离、纵横比等。然而,仅仅提炼几何差异是有上限的;而且新的对价指数与借据本身存在潜在…

IDEA激活失败--脚本分析

IDEA激活失败--脚本分析 脚本代码脚本运行失败推荐 不是破解教程&#xff0c;不是破解教程&#xff0c;不是破解教程 如果你在寻找破解教程&#xff0c;那么你可以忽略本文。对了&#xff0c;找到能用的请告诉我&#x1f92a; 脚本代码 由于CE版本的pycharm不支持django&#x…

031集——文本文件按空格分行——C#学习笔记

如下图&#xff0c;读取每行文本&#xff0c;每行文本再按空格分开读取一个字符串&#xff0c;输出到另一个文本&#xff1a; CAD环境下&#xff0c;代码如下&#xff1a; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Runtime; using System; using Sys…