當時看到這題的時候卡了一下想着排序,想了想用數學的思想去解決它是個更明智的方法
按照題目意思,我能夠經過等差數列的計算公式計算出1到n的和,而後經過一個O(n)的sum過程,計算當前序列的總和,而後將等差數列的和減去當前序列的和,就是當前序列所缺失了的值python
#-*-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('缺失值:',int(p))