6039. K 次增加后的最大乘积
描述
给你一个非负整数数组 nums 和一个整数 k 。每次操作,你可以选择 nums 中 任一 元素并将它 增加 1 。
请你返回 至多 k 次操作后,能得到的 nums的 最大乘积 。由于答案可能很大,请你将答案对 109 + 7 取余后返回。
分析
乘积最大就需要数组中的数越趋近,差距越小。实现办法是每次把数组的最小数加1。
每次arrays.sort()会超时,使用小顶堆不会超时。
连乘求余。每两个数相乘,需要对这两个数及其乘积结果都要求余。
for(int num : heap){
ans = (ans % 1000000007)