牛牛是一个热爱环保的小牛,他居住在一个环形的牧场中。牧场中有一些角色,每个角色都有一个数字表示它们向前或向后移动的步数。牛牛想知道是否存在一个循环,使得角色按照指定的移动规则形成一个重复的循环序列。即给定一个不含 0 的环形数组 nums,数组首尾是相连的(即末尾元素向后是第一个元素,第一个元素向前是末尾元素),且每个 nums[i] 表示位于下标 i 的角色应该向前(负数)或向后(正数)移动的下标个数,请你实现一个函数 bool checkCircularArray(vector& nums),返回是否存在循环,且循环中的元素符号必须相同,即循环中要么全是正数,要么全是负数。 注:循环长度至少为2
示例1

输入

[3, 2, -1, -2]

输出

false

说明

循环路径的下标:1->3,但是符号不同
示例2

输入

[2, -1, 1, 2, 2]

输出

true

说明

循环路径的下标:0->2->3->0

备注:
1 -2000 nums[i] != 0
加载中...