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

當時看到這題的時候卡了一下想着排序,想了想用數學的思想去解決它是個更明智的方法
按照題目意思,我能夠經過等差數列的計算公式計算出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))
相關文章
相關標籤/搜索