首页 > 其他分享 >LeetCode每日一题1.7

LeetCode每日一题1.7

时间:2023-01-07 09:02:50浏览次数:61  
标签:1.7 nums rsum right ans lsum 一题 LeetCode left

1658. Minimum Operations to Reduce X to Zero

https://leetcode.cn/problems/minimum-operations-to-reduce-x-to-zero/

滑动窗口

class Solution:
    def minOperations(self, nums: List[int], x: int) -> int:
        n = len(nums)
        total = sum(nums)

        if total < x:
            return -1
        
        right = 0
        lsum, rsum = 0, total
        ans = n + 1
        for left in range(-1, n - 1):
            if left != -1:
                lsum += nums[left]
            while right < n and lsum + rsum > x:
                rsum -= nums[right]
                right += 1
            if lsum + rsum == x:
                ans = min(ans, (left + 1) + (n - right))
        
        return -1 if ans > n else ans

官方题解:https://leetcode.cn/problems/minimum-operations-to-reduce-x-to-zero/solution/jiang-x-jian-dao-0-de-zui-xiao-cao-zuo-s-hl7u/

标签:1.7,nums,rsum,right,ans,lsum,一题,LeetCode,left
From: https://www.cnblogs.com/kirin-dev/p/LeetCode_1-7.html

相关文章

  • [LeetCode] 1833. Maximum Ice Cream Bars
    Itisaswelteringsummerday,andaboywantstobuysomeicecreambars.Atthestore,thereare n icecreambars.Youaregivenanarray costs oflength......
  • 力扣每日一题2023.1.6---2180. 统计各位数字之和为偶数的整数个数
    给你一个正整数num,请你统计并返回小于或等于num且各位数字之和为偶数的正整数的数目。正整数的各位数字之和是其所有位上的对应数字相加的结果。示例1:输入:num=......
  • 代码随想录day10 LeetCode 232. 用栈实现队列 225. 用队列实现栈
     232.用栈实现队列https://leetcode.cn/problems/implement-queue-using-stacks/利用两个栈来实现队列,一个先存储进去的,一个存储IN栈倒出来的元素,这样就可以获取到队首......
  • [LeetCode]017-电话号码的字母组合
    >>>传送门题目给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任......
  • LeetCode 删除数组中重复项 26 80
    26(80)给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次(使得出现次数超过两次的元素只出现两次),返回删除后数组的新长度。元素的相对顺......
  • leetcode-661. 图片平滑器
    对Go的多维切片的初始化语法不是特别熟悉还有一种[[算法-前缀和]],但是是二维数组的前缀和,没有深究funcimageSmoother(img[][]int)[][]int{ret:=make([][]......
  • 【集合】LeetCode 73. 矩阵置零
    题目链接73.矩阵置零思路1遍历矩阵,分别使用集合row和column记录值为0的行和列。最后将row和column所记录的行和列置为零。空间复杂度:\(O(m+n)\)代码1cla......
  • 【集合】LeetCode 128. 最长连续序列
    题目链接128.最长连续序列思路题目要求找连续序列,且时间复杂度读要求O(n),可以使用集合进行实现。代码classSolution{publicintlongestConsecutive(int[]nu......
  • 【LeetCode2180】[Go/C++/C#/Ruby/Swift/Kotlin/Rust/PHP/TS/Racket/Dart/Java/Elixir
    [toc]题解地址https://leetcode.cn/problems/count-integers-with-even-digit-sum/solutions/2047123/by-yhm138_-w8co/lc2180代码//点击指定元素document.querySel......
  • 【哈希表】LeetCode 1. 两数之和
    题目链接1.两数之和思路使用HashMap来存储每个元素的下标及其所需要加和的数,遍历数组,检查每个数是否在HashMap中有对应的加和数,如果没有则把该数也加入HashMap中......