将 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;

}

};

相关推荐
茉莉玫瑰花茶7 小时前
贪心 - 后篇
算法
m0_748233647 小时前
【C++篇】C++11入门:踏入C++新世界的大门
java·c++·算法
lxmyzzs8 小时前
【图像算法 - 31】基于深度学习的太阳能板缺陷检测系统:YOLOv12 + UI界面 + 数据集实现
人工智能·深度学习·算法·yolo·缺陷检测
lxmyzzs8 小时前
【图像算法 - 32】基于深度学习的风力发电设备缺陷检测系统:YOLOv12 + UI界面 + 数据集实现
深度学习·算法·yolo·计算机视觉
on_pluto_8 小时前
GAN生成对抗网络学习-例子:生成逼真手写数字图
人工智能·深度学习·神经网络·学习·算法·机器学习·生成对抗网络
Q741_1478 小时前
C++ 分治 快速排序优化 三指针快排 力扣 面试题 17.14. 最小K个数 题解 每日一题
c++·算法·leetcode·快排·topk问题
学学学无无止境8 小时前
将有序数组转换为二叉搜索树-力扣
leetcode
sun༒8 小时前
递归经典例题
java·算法
小年糕是糕手8 小时前
【C语言】函数栈帧的创建和销毁
java·c语言·开发语言·数据结构·c++·链表
Lear8 小时前
【数组】代码随想录 44.开发商购买土地
算法