累加出整个范围所有的数最少还需要几个数
生活随笔
收集整理的這篇文章主要介紹了
累加出整个范围所有的数最少还需要几个数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:給定一個有序的正數數組arr和一個正數range,如果可以自由選擇arr中的數字,想累加得到1~range范圍上所有的數,返回arr最少還缺幾個數
舉例:
arr = [1,2,3,7]? range = 15? 1~15還缺14 返回1
arr = [1,5,7] range = 15 1~15還缺2和4 返回2
def needMins(arr,range_):range = 0needs = 0for i in range(len(arr)):if arr[i] > range + 1:range = 2 * range + 1needs += 1if range > range_:return needsrange += arr[i]if range > range_:return needswhile range_ > range + 1:range = 2 * range + 1needs += 1return needs?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的累加出整个范围所有的数最少还需要几个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正数数组的最小不可组成和
- 下一篇: 在有序旋转数组中找到最小值