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

}

};

相关推荐
豆芽81913 分钟前
模糊控制Fuzzy Control
人工智能·算法·模糊控制
Z_z在努力17 分钟前
【数据结构】List 详解
数据结构·list
静水流深-刘申1 小时前
算法继续刷起-2025年09月26日
开发语言·c++·算法
木头左1 小时前
跨周期共振效应在ETF网格参数适配中的应用技巧
开发语言·python·算法
顾你&2 小时前
机器学习之无监督学习算法大总结
学习·算法·机器学习
神龙斗士2403 小时前
Java 数组的定义与使用
java·开发语言·数据结构·算法
Y.O.U..3 小时前
力扣HOT100-跳跃游戏II
算法·leetcode
hn小菜鸡3 小时前
LeetCode 3132.找出与数组相加的整数 II
算法·leetcode·职场和发展
微笑尅乐3 小时前
数组模拟加法——力扣66.加一
算法·leetcode·职场和发展
_不会dp不改名_3 小时前
leetcode_146 LRU缓存
算法·leetcode·缓存