Поиск

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

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

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

Предыдущие записи блогера :
Архив записей в блогах:
Встречайте новый символ Парижа, эти стильные платиновые купола теперь демонстрируют Европе всю силу государства, не боящегося афишировать приверженность христианским корням в светском мире. А ультрамодный матовый оттенок куполов Свято-Троицкого собора, выполненного в стилистике ...
Добрый день, дорогие сообщницы!У меня такой вопрос.Имеется девица 1 мес и 1 день ...
Но особо хочется сказать про ВВП. Не про Владимира Владимировича Путина, а про наш валовый внутренний продукт. Хочется сравнить достижения России за 25 лет с китайскими.  Ведь считается что последние 25 лет нет на планеты страны которая развивается быстрей Китая. Для это взглянем, ...
В нанодневнике - прямая ОНЛАЙН-трансляция с очередного судебного заседания по делу Барановского. Напомню, что предыдущие заседания ( первое и второе ), которые в режиме реального времени посмотрело свыше 1 000 000   75 000 (!) человек по ...
"Мужик копает огород около своего дома. Из дома рядом выходит его соседка—блондинка, открывает свой почтовый ящик, заглядывает туда, захлопывает и убегает обратно в дом. Через какое-то время соседка снова выбегает и заглядывает в почтовый ящик, после этого уходит домой. Мужик-сосед этим ...