Re: [闲聊] 每日LeetCode

楼主: Rushia (みけねこ的鼻屎)   2024-01-04 12:41:12
https://leetcode.com/problems/minimum-number-of-operations-to-make-array-empty/description
2870. Minimum Number of Operations to Make Array Empty
给你一个整数阵列nums我们可以对里面的数字做两种操作:
1.删除两个相同数字
2.删除三个相同数字
求出最少需要几次操作可以让阵列为空,如果不能则返回-1。
思路:
1.先计算出每个数字的出现次数。
2.对每个数字的最小删除次数作判断,如果次数为1表示不可能删除所以返回-1。
3.因为2和3可以组成任何大于1的数字,且用3去删除的操作次数一定比用2少,对这一点
做贪婪:
case1 => 若可被3整除,返回 n/3
case2 => 否则若 n-2 可以被3整除,返回 1 + (n-2)/3
case3 => 否则返回2 + (n-4)/3
(n-6) 回到case1
4.把所有结果加总即可。
Java Code:
作者: sustainer123 (caster)   2024-01-04 12:42:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com