Leetcode 3354. Make Array Elements Equal to Zero

  • [Leetcode 3354. Make Array Elements Equal to Zero](#Leetcode 3354. Make Array Elements Equal to Zero)
    • [1. 解题思路](#1. 解题思路)
    • [2. 代码实现](#2. 代码实现)

1. 解题思路

这一题是一道easy的题目,本来没想写的,因为完全可以暴力搞定,不过这里还是写了一下,因为这道题多少还是比较巧妙的,问题的描述一大把,事实上就是要分析在什么条件下可以使得数组归零,而这个的回答就是要求:

  • 元素两侧的元素之和相同,此时往哪个方向开始均可以,有两种走法;
  • 元素两侧的元素之差为1,此时往多的那一侧行走可以归零,有且只有一种走法;

因此,这道题事实上就变成一个累计数组的题目了, O ( N ) O(N) O(N)的算法复杂度即可完成。

2. 代码实现

给出python代码实现如下:

python 复制代码
class Solution:
    def countValidSelections(self, nums: List[int]) -> int:
        s = sum(nums)
        pre = 0
        ans = 0
        for num in nums:
            left = pre
            right = s-pre-num
            if num == 0:
                if left == right:
                    ans += 2
                elif abs(left-right) == 1:
                    ans += 1
            pre += num
        return ans

提交代码评测得到:耗时48ms,占用内存16.7MB。

相关推荐
Haooog2 小时前
98.验证二叉搜索树(二叉树算法题)
java·数据结构·算法·leetcode·二叉树
Young_Zn_Cu4 小时前
LeetCode刷题记录(持续更新中)
算法·leetcode
天选之女wow4 小时前
【代码随想录算法训练营——Day31】贪心算法——56.合并区间、738.单调递增的数字、968.监控二叉树
算法·leetcode·贪心算法
Miraitowa_cheems7 小时前
LeetCode算法日记 - Day 64: 岛屿的最大面积、被围绕的区域
java·算法·leetcode·决策树·职场和发展·深度优先·推荐算法
_不会dp不改名_8 小时前
leetcode_1382 将二叉搜索树变平衡树
算法·leetcode·职场和发展
Q741_14710 小时前
C++ 位运算 高频面试考点 力扣 面试题 17.19. 消失的两个数字 题解 每日一题
c++·算法·leetcode·面试·位运算
天选之女wow21 小时前
【代码随想录算法训练营——Day28】贪心算法——134.加油站、135.分发糖果、860.柠檬水找零、406.根据身高重建队列
算法·leetcode·贪心算法
flashlight_hi1 天前
LeetCode 分类刷题:1901. 寻找峰值 II
python·算法·leetcode
未知陨落1 天前
LeetCode:95.编辑距离
算法·leetcode