【每日一题Day53】LC1827最少操作数使数组递增 | 贪心

简介: 全局最优:使用最少的步骤使数组严格递增

最少操作数使数组递增【LC1827】


给你一个整数数组 nums (下标从 0 开始)。每一次操作中,你可以选择数组中一个元素,并将它增加 1 。


  • 比方说,如果 nums = [1,2,3] ,你可以选择增加 nums[1] 得到 nums = [1,**3**,3] 。

请你返回使 nums 严格递增 最少 操作次数。


我们称数组 nums 是 严格递增的 ,当它满足对于所有的 0 <= i < nums.length - 1 都有 nums[i] < nums[i+1] 。一个长度为 1 的数组是严格递增的一种特殊情况。


好忙好忙 终于赶上了今天的打卡 后天回家啦 明天应该是来不及滴


  • 思路:贪心


。局部最优:相邻两个数使用最少步骤使后一个值大于前一个值


  • 那么nums[i]只需要比nums[i-1]大一即可


。全局最优:使用最少的步骤使数组严格递增


  • 实现:遍历整个数组得到最小操作数


class Solution {
    public int minOperations(int[] nums) {
        int n = nums.length;
        int ans = 0;
        for (int i = 1; i < n; i++){
            if (nums[i] <= nums[i-1]){
                ans += nums[i-1] - nums[i] + 1;
                nums[i] = nums[i-1] + 1;
            }
        }
        return ans;
    }
}


。复杂度


  • 时间复杂度:O ( n )
  • 空间复杂度:O ( 1 )
目录
相关文章
|
9月前
|
分布式计算 监控 负载均衡
【Hadoop】Hadoop作业跟踪器
【4月更文挑战第9天】【Hadoop】Hadoop作业跟踪器
|
存储 安全 小程序
DaaS架构及落地 (一)
DaaS 数据即服务是一种服务模式,即将数据以服务的形式,向客户提供价值,参与到客户的业务中,它也是软件即服务的一种细分领域。同时DaaS 拥有云计算的通用特点,包括以租代买,按需付费、按用付费。 本文介绍 DaaS 的架构及实现选择,对于拥有大量优质数据资源的企业,可以参考构建起数据业务线,进而实现数据的资产化、价值化。需要说明的是本文中的各种图例仅是逻辑示意,均做了简化。
1198 1
DaaS架构及落地 (一)
|
机器学习/深度学习 人工智能 算法
CVPR 2023 | 会模仿笔迹的AI,为你创造专属字体
CVPR 2023 | 会模仿笔迹的AI,为你创造专属字体
445 0
|
SQL 索引 测试技术
SQL Server创建复合索引时,复合索引列顺序对查询的性能影响
原文:SQL Server创建复合索引时,复合索引列顺序对查询的性能影响    说说复合索引 写索引的博客太多了,一直不想动手写,有一下两个原因: 一是觉得有炒剩饭的嫌疑,有兄弟曾说:索引吗,只要在查询条件上建索引就行了,真的可以这么暴力吗? 二来觉得,索引是个非常大的话题,很难概括出所有的情况...
1549 0
|
NoSQL Redis 数据安全/隐私保护
|
9月前
|
资源调度 JavaScript 内存技术
error @achrinza/node-ipc@9.2.2: The engine “node“ is incompatible with this module. Expected version
error @achrinza/node-ipc@9.2.2: The engine “node“ is incompatible with this module. Expected version
525 0
|
Web App开发 弹性计算 关系型数据库
【MySQL数据库进阶实战】如何在云端创建MySQL数据库
冬季实战营第三期:MySQL数据库进阶实战 2月15日 动手实战-如何在云端创建MySQL数据库
1938 0
【MySQL数据库进阶实战】如何在云端创建MySQL数据库
|
6月前
|
人工智能 自然语言处理 Swift
"轻量级微调推理框架SWIFT:大模型时代的速度革命,让你秒变AI部署高手!"
【8月更文挑战第17天】随着AI技术的发展,大模型如GPT-3和BERT引领风潮,但其部署与推理速度面临挑战。为此,魔搭社区推出了SWIFT(Simple Weight-Integrated Fine-Tuning)框架,它采用轻量级微调技术,实现模型参数压缩与加速,确保大模型能在移动端和边缘设备上高效运行。SWIFT具备四大特点:创新微调方法减少训练参数;内置优化策略提高推理速度;跨平台支持便于部署;兼容主流预训练模型。通过示例可见,从加载预训练模型到模型的微调、评估及导出,SWIFT简化了工作流程,降低了大模型的应用门槛,促进了AI技术的实际应用。
677 4
|
SQL 分布式计算 Java
浅析 hive udaf 的正确编写方式- 论姿势的重要性-系列四-如何直接访问metastore service(附源码)
浅析 hive udaf 的正确编写方式- 论姿势的重要性-系列四-如何直接访问metastore service(附源码)
|
网络架构
keepalived工作原理和配置说明
keepalived工作原理和配置说明 摘自:http://outofmemory.cn/wiki/keepalived-configuration
2173 0

热门文章

最新文章