Квадрат с минимальной площадью, окружающей k точек между данными n точкамиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Квадрат с минимальной площадью, окружающей k точек между данными n точками

Сообщение Anonymous »

Этот вопрос был задан мне в онлайн -тесте.
Есть n точек в картезианском самолете. Показано целое число k. Любые точки, лежащие по бокам, не считаются внутри квадрата. static int minarea(int[] x, int[] y, int k) {
//Find max y
int maxVal = Integer.MIN_VALUE;
for(int i : y){
if(i > maxVal){
maxVal = i;
}
}
//Find min y
int minVal = Integer.MAX_VALUE;
for(int i : x){
if(i < minVal){
minVal = i;
}
}

int yLength = (maxVal-minVal)+2;

//Find max x
maxVal = Integer.MIN_VALUE;
for(int i : x){
if(i > maxVal){
maxVal = i;
}
}
//Find min x
minVal = Integer.MAX_VALUE;
for(int i : x){
if(i < minVal){
minVal = i;
}
}

int xLength = (maxVal-minVal)+2;
int sqSide = (yLength > xLength)?yLength:xLength;
return sqSide*sqSide;

}
< /code>

Одним из подходов к общему решению было бы найти всю возможную комбинацию k точек между n точками и применение вышеуказанного метода для всех комбинаций, но это не очень хорошо. Пожалуйста, посоветуйте.

Подробнее здесь: https://stackoverflow.com/questions/309 ... n-n-points
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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