每日一题LeetCode 1561. 你可以获得的最大硬币数目
1561. 你可以获得的最大硬币数目解题思路一,看完题目第一个想法就是需要对数组进行排序,之后取三等分,一次就是最小堆,中间堆,最大堆,取中间堆。结果发现并不是最优解。关键点在于,你取走的硬币堆可以是最大堆里面的硬币堆,只要保证有比你取的硬币堆更大的被Alice取走就行,而Bob固定,永远从最小堆里面取硬币就可以了。示例3的分析举例所以排序后按照从大到小的顺序遍历数组中的元素,每次遍历2个元素,其中较小的元素即为这一轮取走的硬币数量。循环遍历次数为length/3。解题代码.
原创
2020-09-29 11:04:31 ·
347 阅读 ·
0 评论