Поиск

топ 100 блогов lex_kravetski30.08.2012 Кстати, придумал задачу для любителей запаха монад по утрам, да и вообще для заинтересованных.

Есть у нас данные на сетке. Для простоты они сложены в двумерный массив. Данные намерянны каким-то прибором, который мог сломаться, что мы, в частности, узнаём по наличию в любой точке сетки значения, превышающего заранее заданную величину maxValue. Нам надо выяснить, не сломался ли прибор как минимум по этому критерию, но не просто выяснить, а ещё показать любое значение, превысившее максимальное — чисто для пафоса. У вас-де вот в этой точке аж вот столько, чините прибор.

Решение задачи с императивным подходом просто и прозаично.

int value = 0; 
a: for (int x = 0; x < xSize; x++) {
    for (int y = 0; y < ySize; y++) {
        int v = data[x][y];
        if (v > maxValue) {
            value = v;
            break a;
        }
    }
}


Прозаично, понятно и правильно работает, но не круто. Круто написать то же самое не просто на Scala, но с for-comprehension или с использованием каких-то методов scala-коллекций и без break. При этом написать так, чтобы оно было короче и не имело существенных просадок по производительности в сравнении с данным конкретным примером.

Дерзайте, друзья.

Оставить комментарий

Предыдущие записи блогера :
Архив записей в блогах:
В географическом направлении внешней торговли Японии ведущее место принадлежит США и странам Юго - Восточной Азии. В 1969 г. на долю США приходился 31% (4958 млн. долл.) японского экспорта, 27,3% (4090 млн. долл.) импорта; на долю стран Юго - Восточной Азии ...
Внутриутробное развитие цыпленка в яйце длится 3 недели. Все это время растущему и развивающемуся организму необходим кислород, однако эмбрион окружен плотной скорлупой. Как же все-таки дышит цыпленок внутри яйца? Аналогичный вопрос возникает в отношении всех организмов, рождающихся из ...
Вот такой вопрос задавал девчонкам. По разному отвечали: от миллиона долларов в месяц до пятидесяти тысяч и хотя бы чистил зубы утром и вечером и менял трусы два раза в неделю. Хотя бы. Вот Денис жалуется на свою любимую, что денег им на месяц не хватает. Жена в декрете, Лизоньке, его ...
Вчера заглянул в один из любимых ресторанов, в который очень давно не заглядывал. После заказа попросил официанта ещё и газированной воды. Он предложил мне на выбор российскую воду и итальянскую. Я не задумываясь сделал свой выбор в пользу итальянской. Так своим недавним постом на ...
Кофе с утра в понедельник попить спокойно не удалось...В выходные я как-то упустила из вида бесконечный новостной поток и  вернулась к его,так сказать, берегам только сегодня. И..бац!...подавилась капучино, не отходя от ТВ.  Пока я веселилась на лыжне и общалась с детьми и ...