将 x 减到 0 的最小操作数

class Solution {

public:

int minOperations(vector<int>& nums, int x) {

int sum = 0;

for (int e : nums) sum += e;

int target = sum - x;

if (target < 0) return -1;

int ret = -1;

for (int left = 0, right = 0, tmp = 0; right < nums.size(); right++)

{

tmp += numsright;

while (target < tmp)

tmp -= numsleft++;

if (tmp == target)

ret = max(ret, right - left + 1);

}

if (ret == -1) return -1;

else return nums.size() - ret;

}

};

相关推荐
weixin_5310946912 分钟前
heap_4内存管理
java·开发语言·算法
余额瞒着我当琳15 分钟前
红黑树的实现--红黑树的概念、规则、效率、结构、旋转、查找、验证
数据结构·c++·算法
程序员南飞19 分钟前
win系统安装minio
java·数据结构·算法
青少儿编程课堂21 分钟前
AC自动机多模式串匹配精讲:校园关键词巡检实战解析
c++·python·算法·bfs·信息学竞赛
longlongzihan1 小时前
LeetCode 5. 最长回文子串:从暴力匹配到中心扩展的思维演进
c++·算法·leetcode
waoooqwe1 小时前
问卷样本真实吗
大数据·数据库·算法·数据分析
苦瓜打怪兽1 小时前
leetcode 热题100(11. 盛最多水的容器)
python·算法·leetcode
w_zero_one2 小时前
链表(4)
java·数据结构·算法
吠品2 小时前
GitHub 周榜拆解:决策小模型扎堆上位
c语言·开发语言·算法
Ivanqhz2 小时前
MLA、DSA、CSA、HCA
人工智能·算法·机器学习