Разделите мешки конфет среди трех детей равномерноJAVA

Программисты JAVA общаются здесь
Anonymous
Разделите мешки конфет среди трех детей равномерно

Сообщение Anonymous »

У меня есть n сумки конфет, такие что в никаких двух сумках не было одинакового количества конфет внутри (т.е. это установлен [] = {a0, a1, a2, ..., ai, ..., aj} , где ai! = aj ). Иметь. /> У кого-то есть какие-либо мысли, как решить это-предпочтительно в Java? < /p>

Редактировать: < /p>

Интервьюер хотел, чтобы я использовал 2-D-массив для решения проблемы: первый ребенок получает X, второй ребенок y, третий получает остальное: s [x] < /y [y] < /p (y] < /p>. /> Это после того, как я попытался следующим образом: < /p>

1] sort array n lg n
2] starting with largest remaining bag, give bag to kid with fewest candy.
< /code>



Вот мое решение для разделения для двух детей (это правильный ответ). Может быть, это поможет с получением трехстороннего перегородка. < /P>

int evenlyForTwo(int[] A, int M) {
boolean[] S = new boolean[M+1];
S[0]=true;//empty set
for(int i=0; i= A; x--)
if(!S[x])
S[x]=S[x-A];
int k = (int) M/2;
while(!S[k])
k--;
return k;//one kid gets k the other the rest.
}//


Подробнее здесь: https://stackoverflow.com/questions/102 ... ren-evenly

Вернуться в «JAVA»