Day23力扣打卡

打卡记录

将 x 减到 0 的最小操作数(逆向思维 + 滑动窗口)

链接

将 x 减到 0 的最小操作数,可以逆向思考,求一个数组中的最大长度的滑动窗口,来使得这个窗口里的数等于 全数组之和 - x 的值。

cpp 复制代码
class Solution {
public:
    int minOperations(vector<int> &nums, int x) {
        int target = accumulate(nums.begin(), nums.end(), 0) - x;
        if (target < 0) return -1;
        int ans = -1, sum = 0, n = nums.size();
        for (int i = 0, j = 0; i < n; ++i) {
            sum += nums[i];
            while (sum > target) sum -= nums[j++];
            if (sum == target) ans = max(ans, i - j + 1);
        }
        return ans < 0 ? -1 : n - ans;
    }
};
相关推荐
历程里程碑18 小时前
各种排序法大全
c语言·数据结构·笔记·算法·排序算法
u***u68518 小时前
C++在系统中的异常处理
java·开发语言·c++
少许极端18 小时前
算法奇妙屋(十四)-简单多状态dp问题
算法·动态规划·图解算法·简单多状态dp·打家劫舍问题·买卖股票问题全解
4***R24019 小时前
C++在音视频处理中的库
开发语言·c++·音视频
2301_8234380219 小时前
解析论文《复杂海上救援环境中无人机群的双阶段协作路径规划与任务分配》
人工智能·算法·无人机
周一上线19 小时前
EDA 中的 DRC检测——并查集优化mincut规则检测
c++·eda·经验·工艺
embrace9919 小时前
【C语言学习】结构体详解
android·c语言·开发语言·数据结构·学习·算法·青少年编程
Ayanami_Reii20 小时前
基础数学算法-开关问题
数学·算法·高斯消元
稚辉君.MCA_P8_Java20 小时前
通义 Go 语言实现的插入排序(Insertion Sort)
数据结构·后端·算法·架构·golang
1***s63221 小时前
C++移动语义优化
开发语言·c++