package main

import ( "fmt" "sort" )

func isContinuous(nums []int) bool { if len(nums) != 3 && len(nums) != 5 { return false }

sort.Ints(nums)

for i := 0; i < len(nums)-1; i++ {
	if nums[i] == 0x41 || nums[i] == 0x42 {
		continue
	}

	if nums[i] == 0x2 {
		if nums[i+1] != 0xd && nums[i+1] != 0xe {
			return false
		}
	} else if nums[i] == 0xd {
		if nums[i+1] != 0x2 && nums[i+1] != 0x0e {
			return false
		}
	} else if nums[i]+1 != nums[i+1] {
		return false
	}
}

return true

}

func main() { nums1 := []int{0x2, 0x3, 0x4} nums2 := []int{0x2, 0xd, 0xe, 0xf, 0x10} nums3 := []int{0x2, 0xd, 0xe, 0x10} nums4 := []int{0x2, 0x41, 0x42}

fmt.Println(isContinuous(nums1)) // true
fmt.Println(isContinuous(nums2)) // true
fmt.Println(isContinuous(nums3)) // false
fmt.Println(isContinuous(nums4)) // true

}

Go 语言实现连续数判断算法 - 0x2-0xD 连续数,0x41 和 0x42 为万能数

原文地址: https://www.cveoy.top/t/topic/lImh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录