博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode-330.Patching Array
阅读量:7051 次
发布时间:2019-06-28

本文共 706 字,大约阅读时间需要 2 分钟。

/**     * nums的所有元素,假设最大能连续形成[1,sum] 当增加一个element的时候     * 会变成 [1,sum] [element+1,sum+element]两个区间,这两个区间有以下可能性:     *  1 相交: element < sum     *  2 连续: element = sum  是保持连续,并使得加的元素最少的最大值     *  3 相离: element > sum  大于sum就不连续了     * */    private int minPatches(int[] nums, int n) {        long sum = 1;//1 是必需得有,因为要形成[1,n]的分布,肯定得有1,如果nums没有,就要把其加上        int index= 0;        int add = 0;        while(sum <= n ){            if(index < nums.length && nums[index] <=sum){                sum += nums[index];                index++;            }            else{                sum += sum;                add++;            }        }        return add;    }

 

转载于:https://www.cnblogs.com/nashiyue/p/5261208.html

你可能感兴趣的文章
在线将Apache Rewrite伪静态规则自动转换为Nginx Rewrite
查看>>
Hibernate实现,使用UUID.主键的生成策略
查看>>
在工作中经常使用的git命令笔记
查看>>
Centos6.4安装mysql-5.5.33绿色版
查看>>
Java反射
查看>>
vmware安装 深度完美ghost winXP SP3 详细图文教程,强调一些重难点与技巧,模拟生产环境必备!...
查看>>
为什么我的日志文件不能继续记录呢
查看>>
如何安装CRX格式?Chrome插件离线安装,CRX格式安装方法 JSON-handle Chrome插件下载...
查看>>
使用Azure Function + Cognitive Services 实现图片自动化审核
查看>>
log4j日志通过flume写入HDFS
查看>>
haproxy代理配置
查看>>
一些转载的知识
查看>>
我的友情链接
查看>>
Android初学必备
查看>>
springboot cache 缓存
查看>>
中国为什么这么贵(续二)
查看>>
IOS公司开发者账号申请详细教程
查看>>
ubuntu12.04 安装配置 mysql
查看>>
我的友情链接
查看>>
关于两容器倒水问题的感悟(ACM)
查看>>