给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你需要执行以下操作 恰好 k 次,最大化你的得分:
从 nums 中选择一个元素 m 。
将选中的元素 m 从数组中删除。
将新元素 m + 1 添加到数组中。
你的得分增加 m 。
请你返回执行以上操作恰好 k 次后的最大得分。
- package Two.Six.Five;
-
- import java.util.Arrays;
-
- public class Six {
- public static void main(String[] args) {
- Six six = new Six();
- System.out.println(six.maximizeSum(new int[]{1,2,3,4,5},3));
- System.out.println(six.maximizeSum(new int[]{5,5,5},2));
- }
- public int maximizeSum(int[] nums, int k) {
- int ans = 0;
- int max = Integer.MIN_VALUE;
- for (int i = 0; i < nums.length; i++){
- if(max < nums[i]){
- max = nums[i];
- }
- }
- max--;
- for (int i = 0; i < k; i++){
- ans += max + 1;
- max++;
- }
- return ans;
- }
- }