给定一个数组,判断是否连续,其中0表示任意数字,用lua实现
时间: 2024-05-20 08:10:16 浏览: 141
java 判断一个数组中的数值是否连续相邻的方法
5星 · 资源好评率100%
好的,让我想一下,这个问题很简单,我们可以遍历一遍数组,找到数组中第一个不为0的数字,然后从这个位置开始往后判断,如果中间有任何一个非0数字与上一个位置相差不为1,那么就不是连续的,反之则是连续的。
以下是用Lua实现的代码:
function is_continuous(arr)
local start = 1
while arr[start] == 0 and start < #arr do
start = start + 1
end
for i = start + 1, #arr do
if arr[i] ~= 0 and arr[i] - arr[i-1] ~= 1 then
return false
end
end
return true
end
测试代码:
arr1 = {1,2,0,4,5}
arr2 = {1,2,0,4,6}
arr3 = {1,2,3,4,0,6}
print(is_continuous(arr1)) -- true
print(is_continuous(arr2)) -- false
print(is_continuous(arr3)) -- false
希望对你有帮助,如果有任何问题,欢迎随时提出。
阅读全文