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作为万能数(万能数能根据情况变成任意数),0x2可以和0xE进行连续,0xD不允许和0xE进行连续。请用一个函数实现判断输入3个数或者5个数的数组是否连续?

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

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