将 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 += nums[right];

while (target < tmp)

tmp -= nums[left++];

if (tmp == target)

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

}

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

else return nums.size() - ret;

}

};

相关推荐
旖-旎4 分钟前
哈希表(存在重复元素||)(4)
数据结构·c++·算法·leetcode·哈希算法·散列表
Run_Teenage7 分钟前
Linux:认识信号,理解信号的产生和处理
linux·运维·算法
被摘下的星星13 分钟前
数据结构中逻辑结构和存储结构对应有哪些
数据结构
無限進步D22 分钟前
蓝桥杯赛前刷题
c++·算法·蓝桥杯·竞赛
CoderCodingNo23 分钟前
【GESP】C++二级真题 luogu-B4497, [GESP202603 二级] 数数
开发语言·c++·算法
磊 子26 分钟前
八大排序之冒泡排序+选择排序
数据结构·算法·排序算法
_深海凉_26 分钟前
LeetCode热题100-买卖股票的最佳时机
leetcode
We་ct27 分钟前
LeetCode 50. Pow(x, n):从暴力法到快速幂的优化之路
开发语言·前端·javascript·算法·leetcode·typescript·
潇洒畅想32 分钟前
1.1 从∑到∫:用循环理解求和与累积
java·数据结构·python·算法
郝学胜-神的一滴1 小时前
[简化版 GAMES 101] 计算机图形学 04:二维变换上
c++·算法·unity·godot·图形渲染·unreal engine·cesium