Go 语言实现连续数字判断算法 - 0xE 和 0x2 特殊情况
func isContinuous(nums []int) bool {
if len(nums) == 0 {
return false
}
sort.Ints(nums)
for i := 1; i < len(nums); i++ {
if nums[i]-nums[i-1] != 1 {
if nums[i] == 0xE && nums[i-1] == 0x2 || nums[i] == 0x2 && nums[i-1] == 0xE {
continue
}
return false
}
}
return true
}
该函数首先判断传入的数组是否为空,如果为空则返回 false。然后使用 sort.Ints 对数组进行排序,之后遍历数组,判断相邻两个元素之间的差值是否为 1,如果不是 1 则判断是否是 0xE 和 0x2 之间的连续,如果不是则返回 false,如果遍历完整个数组都没有返回 false,则说明数组是连续的,返回 true。
原文地址: https://www.cveoy.top/t/topic/lK6d 著作权归作者所有。请勿转载和采集!