找出不能用列表中元素相加得到的最小整數
題目
寫一個函式,找出不在列表中,且不能用列表中元素相加得到的最小整數, 如:列表[1,2,5,7],不在列表中且不能夠用列表元素相加得到的數是4
import itertools
def func(mylist):
result = itertools.combinations(mylist, 2) # 通過combinations()列出原列表所有組合情況
cp_mylist = mylist.copy() # 對原列表備份
for i in result:
temp=sum(i)
if temp not in cp_mylist:
cp_mylist.append(temp) # 將兩數相加的所有情況加入cp_mylist中
cp_mylist.sort() # 原地更新
for j in range(len(cp_mylist) - 1):
gap = cp_mylist[j + 1] - cp_mylist[j] # 計算兩數的間隙
if gap > 1:
return cp_mylist[j] + 1
else:
return cp_mylist[-1] + 1
if __name__ == '__main__':
mylist = [7, 1, 2, 4, 3, 5]
# mylist = [1, 2, 5]
res = func(mylist)
print(res)
相關文章
- 找出一堆整數中兩個元素和為指定值的所有組合
- python中列表相加Python
- 陣列中未出現的最小正整數陣列
- 兩個陣列分別取出一個來相加,找出和最小的k個陣列
- 求陣列中未出現的最小正整數陣列
- 漫畫:如何實現大整數相加?
- JS中可能用得到的全部的排序演算法JS排序演算法
- 旋轉陣列中的最小元素陣列
- js實現從陣列中獲取相加和為指定數字的元素JS陣列
- java求一個整數的最小因子Java
- JS演算法之找出缺失的整數JS演算法
- 在陣列中找出唯一的重複元素陣列
- js找出陣列中出現最多的元素和次數JS陣列
- Java中查詢列表的峰值元素Java
- 使用純粹的ABAP位操作實現兩個整數相加
- 找出陣列中元素的位置陣列
- 【簡單演算法】1.兩數之和,給定整數陣列和目標值,找出陣列中2數之和等於目標值的元素演算法陣列
- java 兩個列表的元素是否相等且各自元素數量相等Java
- 41. First Missing Positive(找到陣列中未出現的最小正整數)陣列
- IE CSS Bug系列:列表元素背景不顯示CSS
- 如何從整數陣列中找到最大和最小數陣列
- 1.找出元素 item 在給定陣列 arr 中的位置陣列
- Django中ORM找出內容不為空的資料DjangoORM
- Python列表數字元素加權和Python字元
- 找出陣列中元素出現次數超過陣列長度一半的元素陣列
- POJ 1465-Multiple(BFS-最小整倍數)
- Python 中刪除列表元素的三種方法Python
- python列表中是否存在某個元素Python
- Python統計列表元素出現次數Python
- 如何用sql找出中間斷號的數字SQL
- PHP字串數字相加PHP字串
- 2. 兩數相加
- Python實用技法第11篇:找出序列中出現次數最多的元素Python
- js練習(一)找出元素item在給定陣列arr中的位置JS陣列
- 求兩個正整數的最大公約數與最小公倍數--C#實現C#
- python得到windows自啟動列表PythonWindows
- 【谷歌面試題】求陣列中兩個元素的最小距離谷歌面試題陣列
- jQuery將li元素插入列表中任意位置jQuery