Problem:
思路
用贪心思想考虑,在每一轮操作中,把最大的给Alice,如何把当前数组中次大的给自己,如何把最小的给Bob。以此类推,把数组的最小的三分之一给Bob即可,然后把剩下的交叉给Alice和自己。
Code
class Solution {
public int maxCoins(int[] piles) {
//先排序,默认升序
Arrays.sort(piles);
int n = piles.length;
int sum = 0;
//截取掉低三分之一,然后以步长为2记录自己所获硬币
for (int i = n / 3; i < n - 1; i += 2) {
sum += piles[i];
}
return sum;
}
}
标签:piles,int,sum,Alice,算法,数组,贪心
From: https://www.cnblogs.com/arioya/p/18686972