找出不能用列表中元素相加得到的最小整數
題目
寫一個函式,找出不在列表中,且不能用列表中元素相加得到的最小整數, 如:列表[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)
相關文章
- 劍指offer:輸入n個整數,找出其中最小的K個數。
- python中列表相加Python
- 陣列中未出現的最小正整數陣列
- 漫畫:如何實現大整數相加?
- 旋轉陣列中的最小元素陣列
- JS演算法之找出缺失的整數JS演算法
- js找出陣列中出現最多的元素和次數JS陣列
- Java中查詢列表的峰值元素Java
- 使用純粹的ABAP位操作實現兩個整數相加
- 【簡單演算法】1.兩數之和,給定整數陣列和目標值,找出陣列中2數之和等於目標值的元素演算法陣列
- java 兩個列表的元素是否相等且各自元素數量相等Java
- Python列表數字元素加權和Python字元
- 不用做任何比較判斷運算子找出兩個整數中的較大的值
- 找出陣列中元素出現次數超過陣列長度一半的元素陣列
- Python 中刪除列表元素的三種方法Python
- 1.找出元素 item 在給定陣列 arr 中的位置陣列
- 如何從整數陣列中找到最大和最小數陣列
- python列表中是否存在某個元素Python
- 3300. 替換為數位和以後的最小元素
- Python實用技法第11篇:找出序列中出現次數最多的元素Python
- Django中ORM找出內容不為空的資料DjangoORM
- 兩數相加Ⅰ和Ⅱ
- Leetcode兩數相加LeetCode
- LeetCode——兩數相加LeetCode
- js練習(一)找出元素item在給定陣列arr中的位置JS陣列
- 3516 求n個整數的最小值 迴圈結構
- Java中使用流Stream查詢列表中的最大和最小日期Java
- Leetcode 最小調整數+滑動視窗遞增子序列LeetCode
- 寫一個方法找出指定一維陣列所有不重複的元素和個數陣列
- jQuery將li元素插入列表中任意位置jQuery
- 給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。陣列
- 給定一個整數陣列,找出總和最大的連續數列,並返回總和。陣列
- 最小的 k 個元素--快排變形
- LeetCode 2——兩數相加LeetCode
- LeetCode-兩數相加LeetCode
- 【LeetCode】2 兩數相加LeetCode
- 2. 兩數相加
- PHP字串數字相加PHP字串