[Swift]LeetCode330. 按要求补齐数组 | Patching Array
发布时间:2020-12-14 05:06:10 所属栏目:百科 来源:网络整理
导读:Given a sorted positive integer array? nums ?and an integer? n ,add/patch elements to the array such that any number in range? [1,n] ?inclusive can be formed by the sum of some elements in the array. Return the minimum number of patches re
Given a sorted positive integer array?nums?and an integer?n,add/patch elements to the array such that any number in range? Example 1: Input: nums =,n = Output: 1 Explanation: Combinations of nums are,which form possible sums of: . Now if we add/patch to nums,the combinations are: . Possible sums are,which now covers the range . So we only need patch.[1,3]6[1],[3],[1,3]1,3,42[1],[2],3],[2,2,4,5,6[1,6]1 Example 2: Input: nums =,n = Output: 2 Explanation: The two patches can be . [1,10]20[2,4] Example 3: Input: nums =,n = Output: 0[1,2]5 给定一个已排序的正整数数组?nums,和一个正整数?n 。从? 示例?1: 输入: nums =,n = 输出: 1 解释: 根据 nums?里现有的组合?,可以得出?。 现在如果我们将??添加到?nums 中,?组合变为: 。 其和可以表示数字?,能够覆盖??区间里所有的数。 所以我们最少需要添加一个数字。[1,6] 示例 2: 输入: nums =,n = 输出: 2 解释: 我们需要添加?。 [1,4] 示例?3: 输入: nums =,n = 输出: 0[1,2]5 52ms 1 class Solution { 2 func minPatches(_ nums: [Int],_ n: Int) -> Int { 3 4 var miss = 1 5 var res = 0 6 var i = 0 7 let l = nums.count 8 while miss <= n { 9 if i < l && nums[i] <= miss { 10 miss += nums[i] 11 i+=1 12 }else { 13 miss <<= 1 14 res += 1 15 } 16 } 17 return res 18 } 19 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- MongoDB分片详解
- oracle操作类
- c – 这个指针的memcpy是否安全?
- 在Postgresql中获取几周的时间
- c – 为什么cppcheck说“函数参数应该通过引用传递”?
- Flex 学习笔记之三:IDEA 搭建Flex 项目(Hello World)
- Bitmap Font Generator(bmfont.exe)工具修改以支持Cocos St
- Using the Flex Compilers Flex编译器的使用 第一部分
- oracle – BEGIN – END块在PL/SQL中的原子事务
- sqlite database lock problem in android content provide