1. 程式人生 > >Python-求1到n的一個亂序數組裡面缺失的一個值

Python-求1到n的一個亂序數組裡面缺失的一個值

開發十年,就只剩下這套架構體系了! >>>   

當時看到這題的時候卡了一下想著排序,想了想用數學的思想去解決它是個更明智的方法
按照題目意思,我可以通過等差數列的計算公式計算出1到n的和,然後通過一個O(n)的sum過程,計算當前序列的總和,然後將等差數列的和減去當前序列的和,就是當前序列所缺失了的值

#-*-coding:utf8;-*-
import random
print("This is console module")
def generate_numarray(n):
  array=[x for x in range(1,n+1)]
  array.remove(random.randint(1,len(array)-1))
  return array
n=5
#生成目標陣列
arr= generate_numarray(n)
p=(n*(n+1))/2-sum(arr)
print(arr)
print('求和:',sum(arr))
print('缺失