Leetcode 3576. Transform Array to All Equal Elements
- Leetcode 3576. Transform Array to All Equal Elements
- 1. 解题思路
- 2. 代码实现
- 题目链接:3576. Transform Array to All Equal Elements
1. 解题思路
这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。
至于每一种情况是否可以达到,事实上就是一个贪婪算法,倒也没啥好多说的。
2. 代码实现
给出python代码实现如下:
class Solution:def canMakeEqual(self, nums: List[int], k: int) -> bool:n = len(nums)if n == 1:return Truedef is_possible(idx, k, tgt, flag):if idx == n-2:if nums[idx] * flag != nums[-1]:return Falseelif nums[-1] != tgt and k == 0:return Falsereturn Trueif nums[idx] * flag != tgt:if k == 0:return Falsereturn is_possible(idx+1, k-1, tgt, -1)else:return is_possible(idx+1, k, tgt, 1)return is_possible(0, k, 1, 1) or is_possible(0, k, -1, 1)
提交代码评测得到:耗时329ms,占用内存50.1MB。