
力扣 1658. 将 x 减到 0 的最小操作数
发布日期:2021-05-10 18:39:24
浏览次数:11
分类:精选文章
本文共 2422 字,大约阅读时间需要 8 分钟。
���������������������������������������������������������������������������������������������������������������������������x������������������������������
������������:
- ������������������������������nums������������������x������������������������������������������������������������������������������nums���������������x���������������������������������������������������
������������:
- ������������: ���������������������������������
total_sum
������������������������target = total_sum - x
������������������������������������������������target
��� - ������������������: ���������������������������������������������������������������������������������������������������������
current_sum
���������������������target
���������������������������������������������- ������
current_sum
������target
���������������������������������������������������current_sum
������������target
��� - ������������
current_sum
������target
���������������������������������������������
- ������
������������:
- ������������������
total_sum
������������������target = total_sum - x
��� - ������������������
l=0
������������r=0
������������������current_sum=0
���������������������max_len=-1
��� - ������������������������������������
- ���
nums[r]
������current_sum
���������current_sum
������������target
���������r
��������� - ������
current_sum
������target
���������������������������������������������current_sum
������������target
��� - ������
current_sum
������target
������������������������������������������max_len
���
- ���
- ������������������������������������
max_len
>=0���������������������������������������������������������-1���
������������:
int minOperations(vector nums, int x) { int total_sum = 0; int target = 0; for (int num : nums) { total_sum += num; target = total_sum - x; } int max_len = -1, current_sum = 0, l = 0; int r = 0; while (r < nums.size()) { while (current_sum + nums[r] <= target) { current_sum += nums[r]; r++; } if (current_sum > target) { current_sum -= nums[l]; l++; } if (current_sum == target) { int length = r - l; if (length > max_len) { max_len = length; } } } return max_len;}
������������������������������������������������������������������������������������������������������������������������������������������������������O(n)������������������������������������������
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月11日 15时48分56秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Android数据库
2021-05-08
python-day3 for语句完整使用
2021-05-08
【wp】HWS计划2021硬件安全冬令营线上选拔赛
2021-05-09
Python 之网络式编程
2021-05-09
网站故障公告1:使用阿里云RDS之后一个让人欲哭无泪的下午
2021-05-09
上周热点回顾(6.9-6.15)
2021-05-09
上周热点回顾(1.23-1.29)
2021-05-09
Python 简明教程 --- 20,Python 类中的属性与方法
2021-05-09
稀疏数组
2021-05-09
83. Remove Duplicates from Sorted List
2021-05-09
Nmap扫描工具介绍
2021-05-09
玩玩小爬虫——试搭小架构
2021-05-09
Javascript之旅——第九站:吐槽function
2021-05-09
Sql Server之旅——第十站 看看DML操作对索引的影响
2021-05-09
深入探索Android热修复技术原理读书笔记 —— 热修复技术介绍
2021-05-09
Python大神编程常用4大工具,你用过几个?
2021-05-09