­
­

Поиск

топ 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. При этом написать так, чтобы оно было короче и не имело существенных просадок по производительности в сравнении с данным конкретным примером.

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

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

Предыдущие записи блогера :
Архив записей в блогах:
Еще два экспоната с выставки в Гостином дворе. Вот пуфики серебристые – ну точно древние идолы! Или инопланетные сущности… Но функционально! Садись, отдыхай. На голове у сущности. Улёт. В космос. А вот обычная китайская клетчатая хозяйственная сумка!! Но она стоит на белой подставке, на ...
Наталья Васильевна Крандиевская-Толстая (до замужества Крандиевская, в первом браке Волькенштейн; 21 января [2 февраля] 1888, Москва — 17 сентября 1963, Ленинград) — русская советская поэтесса и писательница, ...
Российский президент Владимир Путин, возложив цветы к могиле Бориса Ельцина в понедельник, 1 февраля, сказал, что страна должна помнить о таких людях, как первый президент России. При этом глава государства отметил, что и сам никогда о нем не забудет. - Задним числом все умные, но вот ...
Её можно назвать второй Вангой. Лада Ведунья (это её настоящие имя и фамилия), так же, как и болгарская прорицательница, потеряла зрение. И так же, как у Ванги, у неё очень ...
Иногда, спокойно почитывая  соцсети, вдруг на такое натыкаешься... Короче, я заранее извиняюсь перед всеми, чьи чувсвта меры, вкуса и веры в человечество будут оскорблены. Началось с того, что кто-то написал в Твиттере: "Один китаец в декабре приготовил настолько ох...ный суп ...