---
title: 判斷數列連續不連續
tags: Code
description: Abs
---
判斷數列連續不連續
---
找出基因群並不是一件容易的工作,有一個計算生物學家想到一個聰明的方法來簡化這個問題。經過他的簡化後,基因群辨識的主要工作會被轉換成: 輸入一個由相異正整數組成的序列 S,然後判斷 S 的內容是否構成連續的一串整數。例如:S=(2,5,3,4) 的內容構成連續的一串整數 2,3,4,5;但是S=(2,6,3,4)的內容並不構成連續的一串整數 (缺了5)。給定一個數字所構成的序列,請撰寫一個程式來判斷這個序列中的數字是否構成連續的一串整數。
輸入範例 1:
2 6 5
輸出範例 1:
5 6 yes
輸入範例 2:
2 5 7
輸出範例 2:
5 7 no

<br>
```python
## Exmaple input:3 2 5 4
arr = list(map(int,input().split(' ')))
'''
split(空白就拆開)-->['3','2''5','4']
map用法: map(convrt type,list) (要轉成的類型,陣列)
--->map(int,['3','2''5','4'])---->[3,2,5,4] int類型陣列
arr =[3,2,5,4]
'''
del arr[0]
arr.sort()
'''
del arr[0]|| 刪除第0項(數列大小) 用不到 [3,2,5,4]-->[2,5,4]
arr.sort()|| list.sort() 由小到大排序 ex:[2,5,4]---->[2,4,5]
'''
for i in range(1,len(arr)):
if(arr[i]-arr[i-1] != 1):
print(arr[0],arr[len(arr)-1],'no')
break
'''
for i in range(1,len(arr)): | len([2,4,5]) 回傳int-->3 for i in range(1,3)
if 第i項-第(i-1)項 公差為1 --> 如果公差不為1 print(不連續)
ex: [2,4,5]
if(arr[1]-arr[0]!=1) --> if(4-2 != 1) --->(不連續)
因為前面有sort 所以陣列 (min,max)
len(arr)-1 =3-1 =2
(arr[0],arr[len(arr)-1])--->(陣列第一項,陣列最後一項)
Final:print(arr[0],arr[len(arr)-1],'no')
'''
else:
print(arr[0],arr[len(arr)-1],'yes')
```