Leetcode # 2870. Minimum Number of Operations to Make Array Empty
Problem
Testcases
# | Input | Expected |
1
|
[14,12,14,14,12,14,14,12,12,12,12,14,14,12,14,14,14,12,12]
|
7 |
Solution
Time Complexity: O(n)
Space Complexity: O(len(set(nums)))
(The input and output generally do not count towards the space complexity.)
class Solution: def minOperations(self, nums: List[int]) -> int: counter = Counter(nums) result = 0 @lru_cache def op_times(number): if number == 2 or number == 3: return 1 result = 0 if number % 2 == 1: number -= 3 result += 1 multiples_of_6 = number // 6 number, result = number - 6 * multiples_of_6, result + multiples_of_6 * 2 return result + number // 2 for num in counter: if counter[num] == 1: return -1 result += op_times(counter[num]) return result
Last Updated on 2023/10/01 by A1go