Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему алгоритм добычи блока не распараллеливается?

Лучший ответ:
Ведь это просто же навесить в алгоритм майнинга использование например 4 потоков и каждый поток будет проверять, подходит его nonce или нет, что ускорит майнинг в 4 раза. Первый проверяет nonce = 1, 5, 9, … и тд
На самом деле все майнеры так или иначе распараллеливают вычисления, ибо действительно параллелизм тут достигается очень тривиально, так как нет никакого общего состояния.

Почему это нигде не пишут:
1. Обывателю это не нужно, да и не интересно
2. Программисту это и так очевидно
3. В спецификации не описывают детали реализации - только математику.

Худший ответ:
Весь мир в один момент ищет один блок. И никто у другого не спрашивает как он ищет, что перебирает, что точно не подходит и т.п. Откуда вообще могла мысль возникнуть, что это все происходит не параллельно? Как это могло бы быть по-другому?
Вопрос: Много пыли в серверной, как лучше очистить воздух?

Лучший ответ:
Лучшим пылесборником является сам сервер. Устраните источник пыли:
-закройте окно и дверь
-ликвидируйте склад
-ликвидируйте проходной двор, как следствие п/п.2
-поставьте фильтр на вентиляцию, если она есть.
-не ходите в серверную в уличной обуви и одежде

После нескольких чисток серверов и кондиционеров, пыли просто не останется.

Худший ответ:
Насколько я понимаю, кондиционер гоняет воздух через себя и делает две вещи: охлаждает его и собирает пыль.
Вопрос: Что делать с хакерскими http запросами?

Лучший ответ:
Забить, всех не перебанишь, а если захочешь - забанишь реальных пользаков. 
Ну и просто не оставлять подобных уязвимостей.

Худший ответ:
1. Проверить, что уязвимости закрыты.
2. Отрепортить владельцу ip о том, что из его сети идёт атака (возможно, хост взломан). Посмотреть владельца ip можно во whois по ip (abuse contact).
3. Забанить ip на неделю.

Это поможет:
1. Не быть взломанным.
2. Принести убытки атакующим: сократить объем атакующих хостов.

Это не поможет:
1. Если взломали самого провайдера (актуально для африканских стран)
2. Если в системе уже сидит дорвей.
Вопрос: Как расчитать шанс вещи от цены?

Лучший ответ:
В печёнках уже сидят эти лутбоксы. Смотрите, сколько похожих вопросов тут было:
https://qna.habr.com/q/689718
https://qna.habr.com/q/691224
https://qna.habr.com/q/866113
https://qna.habr.com/q/799909
В правилах (пункт 2.2) сказано, что нужно воспользоваться поиском, прежде чем создавать вопрос.

Худший ответ:
Линейная регрессия.
Вопрос: Выделить признаки лица по фотографии?

Лучший ответ:
Facedetection в ML Kit
https://developers.google.com/ml-kit/vision/face-d...

Худший ответ:
Меня попросили как эксперта, но пока у меня не хватает опыта.
Могу пока посоветовать посмотреть обзор всех нейронок в плейлисте "Deep Learning на пальцах"
Вопрос: Как научиться ремонтировать компьютеры?

Лучший ответ:
изучить принцип работы ПК на уровне микроконтроллеровНачать с того, что в ПК нет микроконтроллеров. Ну так сложилось. Микроконтроллеры есть в промышленной автоматике, на транспорте, в бытовой технике, даже в электрощитах. Но МК нет в ПК, в обычном понимании этих терминов.

Научиться хорошо паять (а это не так-то просто на современных платах, я вот могу только на уровне "тяп-ляп"). Как уже сказали в комментариях, сейчас неисправные платы заменяют целиком.
Почитайте: https://habr.com/ru/post/537848/
Частая проблема - выход из строя электролитических конденсаторов. На материнках сейчас уже не частая, но в целом по электронным блокам - да (блоки питания, мониторы, роутеры и т.д.) Так что можно даже не включая мозг аккуратно перепаивать конденсаторы, и с вероятностью 50% устройство после этого заработает. А в остальных 50% разводить руками, пожимать плечами, хмурить брови и говорить, что ремонт этой неисправности будет дороже, чем новая плата с доставкой. :) Ну ещё изредка бывают сгоревшие предохранители или взорвавшиеся варисторы - это ещё проще, чем с конденсаторами. Раздолбанные USB-разъёмы, переломленные шлейфы в ноутбуках - всё это не требует квалификации.

Худший ответ:
Устроиться джуном в мастерскую по ремонту? Там научат, если берутся учить, конечно. 

Ремонт нынче, как правило, блочный. Хотя конечно, умение паять и умение не перепутать транзистор с трансформатором - будет полезно. Разборка-сборка автомата ноутбуков, чистка, перепайка кондеров и раздолбанных разьемов питания и USB, залитые чаем клавы...
Вопрос: Разрешения 755 для всех файлов и каталогов сайта это безопасно?

Лучший ответ:
Вам дают пистолет с предохранителем, чтобы вы не поранились.
Вы его болгаркой отпиливаете. Тк как не понимаете зачем он нужен.

Худший ответ:
755 - стандартные права на любой файл, которые обычно выставляются при его создании (если при старте не извращаться через umask)
777 - права "всем все на все". Любая ошибка в коде, любой сбой в настройках может унести сайт в /dev/null а иногда и систему с собой прихватить.
Вопрос: Запрет работы на локальных дисках или какова реализация работы с файлами?

Лучший ответ:
Roaming Profiles нужны только когда сотрудники перемещаются между компьютерами.
А вам нужен Folder Redirection - когда через политики GPO делается перенаправление папок Desktop, Documents т.п. на шары на файловом сервере.
Что-то типа такого 
https://newhelptech.wordpress.com/2017/07/06/step-...

Худший ответ:
1) Гигабит в секунду примерно равен скорости жесткого диска средней паршивости.
2) Любой отвал сети грозит вам потерей всех открытых на данный момент файлов.
Вопрос: Индексация массива Java. Как обойтись без циклов?

Лучший ответ:
Добрый день.
Будь я на вашем месте сделал бы следующим образом:
Создал бы метод, который принимает несколько аргументов:
1) сам массив, по которому нужно итерировать
2) startOffset - это если нужно вывести char без первых n символов
3) endOffset - это если нужно вывести char без последних n символов

Либо же можно реализовать подобное при помощи Stream API. Но скорее всего вы все еще изучаете Java и скорее всего еще не дошли до этого...

Худший ответ:
Добрый день.
Будь я на вашем месте сделал бы следующим образом:
Создал бы метод, который принимает несколько аргументов:
1) сам массив, по которому нужно итерировать
2) startOffset - это если нужно вывести char без первых n символов
3) endOffset - это если нужно вывести char без последних n символов

Либо же можно реализовать подобное при помощи Stream API. Но скорее всего вы все еще изучаете Java и скорее всего еще не дошли до этого...
Вопрос: Кроссплатформенное программирование на C?

Лучший ответ:
если коротко то стоимость программы становится в 2.5х больше.
Развернуто из винды ни кто не тащит программы в линукс, слишком маленькая аудитория,  а вот обратный ход возможен.
UI делают на  QT
сетевой стек Npcap WinPcap
Впрочем делают часто для галочки да и не все возможно перенести.

Типичный пример это NGINX, Apache

В общем старайтесь избегать кросплатформенных приложений, особенно на таком низком уровне.
Кросплатформенность хороша только в Java и NET и то с той оговоркой что пишите только серверные приложения.

Худший ответ:
В общем, на чистом C  лучше не писать кроссплатформенные приложения с GUI.
Практически все кроссплатформенные GUI- библиотеки разрабатываются для С++ (за очень редким исключением).
Так что рекомендую погрузиться в  C++  и взять или  Qt или WxWidgets...
Ну, или программировать на opengl  + glfw  с расширениями :)
Вопрос: Какой редактор использовать для создания 3D модели помещения?

Лучший ответ:
Думаю, проще всего SketchUp. Он бесплатный и специально был создан чтобы рисовать 3D здания на плоских картах. Интерфейс очень интуитивен, в отличие от блендера/макса/пр. Есть встроенные подсказки для начинающих.

Альтернатива - нарисовать контуры в векторном редакторе (типа корела), потом выдавить в 3D редакторе (почти любом). Если много сложных контуров (криволинейных), так будет проще чем рисовать их сразу в 3D.

А вообще вариантов масса. Вплоть до Фотошопа, который, сюрприз-сюрприз, тоже умеет работать с вектором и 3D :)

Худший ответ:
насколько я понимаю вам нужна интерактивная карта с подсветкой?
Я бы смоделировал в 3dsmax, отрендерил и обвел бы в Adobe Illustrator и экспортировал бы в svg.
Вопрос: Проблема в Garuda Linux Xfce?

Лучший ответ:
Garuda это Arch Linux based Distro, а значит ни о каких apt-get он понятия не имеет (это для дебианоподобных ОС), попробуйте sudo pacman -S skypeforlinux, но не уверен что поможет, скорее всего скайп ставить придется из AUR, примерно так https://www.tecmint.com/install-skype-in-arch-linux/

Худший ответ:
Garuda основан на Arch Linux у которого пакетный менеджер pacman
skypeforlinux нету в оф.репах но есть в Ауре
для прозрачной установки пакетов с Аура установите обертку над пакманом, например тот же yay
pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
после уже устанавливаете нужные пакеты 
yay -Suy skypeforlinux-stable-bin
или 
yay -Suy skypeforlinux-preview-bin
Вопрос: Как работают белые адреса внутри сети провайдера?

Лучший ответ:
Этот адрес делится между мной и другими абонентами провайдера?Нет.
Если вы получили белый адрес - хоть статический, хоть динамический, он ни с кем не делится, только вы им пользуетесь.

Если вы получили серый адрес - тогда вы вместе с толпой других абонентов будете отправлять запросы через шлюз провайдера с белого адреса этого шлюза.

Если нет, тогда выходит, что провайдер построил прозрачный L2 канал до моего роутера и раздал мне адрес из списка купленных/полученных им.Ну не обязательно так, разные варианты выдачи белого адреса есть. 

Когда адреса закончатся - услуга по покупке белых ip будет недоступна?Они давно закончились, уж лет пять вроде как.
Услуга то куда денется? Просто дороже они становятся.
И это услуга не по покупке, а по аренде - провайдер предоставляет вам адрес в аренду за определенную плату.

Худший ответ:
это зависит от провайдера.
вы можете получить индивидуальный белый адрес только для себя, вы можете получить белый адрес для себя и для всех своих соседей.
технически это реализуется разными способами.

и, в большинстве случаев, клиенту достаточно иметь белый ип. а будет он статическим или динамическим – не роялит.
Вопрос: Не лучше ли базы микросервисов хранить отдельно от контейнеров?

Лучший ответ:
Базы данных обычно не рекомендуется хранить в контейнерах, если вы точно не знаете, зачем вам это нужно, и что вы делаете.
Так что да, мысли у вас правильные.
По производительности - зависит примерно от всего, но если вы решили делать микросервисы, то эти задержки не будут для вас столь значительны.

Худший ответ:
СУБД докеризировать нежелательно, тем более не стоит размещать СУБД и микроскрвис в одном контейнере, а сами базы в контейнерах хранить категорически нельзя.
Вопрос: Как извлечь данные из определенной ячейки html таблицы?

Лучший ответ:
вам нужна коллекция элементов
let trs = document.querySelectorAll('tr'); // получили коллекцию строк
let td = trs[1].querySelectorAll('td')[2]; // получили из 2й по счёту строки, третью по счёту ячейку
console.log(td);

ох, это про php.
извините :D

Худший ответ:
<script>
    let items = document.getElementsByClassName("remainingDays");
    let value = items[0].innerHTML;
    console.log(value);
</script>

Блин, тоже не увидел что про php
А в чем собственно проблема? Если у тебя формируется динамически, значит у тебя есть массив с данными... Ты не знаешь как из массива выдернуть нужное значение?
$value = $items[0][2]; // $items - это массив с твоими данными
Вопрос: Почему возникает ошибка синтаксиса?

Лучший ответ:
Ты сравниваешь string и int, а так делать нельзя

Худший ответ:
Предположительно, считай пробелы, if str(nik) >= 16: не понято к чему относится, то ли к верхнему условию, то ли независимое условие.
Вопрос: Можно ли заряжать телефон от 65W адаптером с Type C?

Лучший ответ:
Можно

Худший ответ:
Можно, если он не потребляет больше 65 ватт. 
Среди современных телефонов я не знаю ни одного, который хотя бы близко подбирался к 65.
Вопрос: Что делать если чип биоса сгорел?

Лучший ответ:
Два варианта:
1. Перестать издеваться над техникой и сдать ее в сервис
2. Полное прекращение работы Телеграмм в России

Худший ответ:
Два варианта:
1. Перестать издеваться над техникой и сдать ее в сервис
2. Полное прекращение работы Телеграмм в России
Вопрос: У меня 2х16гб из за кулера не могу поставить 2и4 или 1и3 для двухканального режима?

Лучший ответ:
Двухканальный режим не включится, с разгоном будут проблемы, Xmp профиль не заработает.

Худший ответ:
Нет это не опасно. Остальное уже написали)
Вопрос: Стоит ли идти фронтом в гос. организацию?

Лучший ответ:
Никогда не идите в госорганизации. Любая госорганизация убивает все, к чему прикасается, так как у нее нет стимула для чего-либо качественного (помимо пинков сверху). Всегда предпочитайте частное государственному - работу, услуги, товары.

Лучше найти джуновскую вакансию в каком-нибудь стартапе или студии - там и ребята молодые, и мотивация, и управление современное.

Худший ответ:
Ну если нет выбора какой смысл спрашивать
Очевидно что надо в Москву ехать из правильных решений
Вопрос: Как собрать в один массив несколько переменных из input с одинаковыми ID?

Лучший ответ:
Атрибут id

Задаёт стилевой идентификатор — уникальное имя элемента, которое используется для изменения его стиля и обращения к нему через скрипты. Идентификатор в коде документа должен быть в единственном экземпляре, иными словами, встречаться только один раз. (Источник)

Для этих целей хорошо подходит class

Худший ответ:
Выше правильно написали. Задайте инпутам класс.
И соберите все в массив:
var id_imgs = [];
$(".id_imgs").each(function(){
        id_imgs[] = $(this).val();
    });
Вопрос: Какие есть хорошие отечественные движки для создания 2D игр с бесплатным доступом?

Лучший ответ:
Нет таких
Пиши на unity, у тебя будут знания которые хоть где то ценятся, когда (если) политическая ситуация разрешится в пользу глобализации
Если же не разрешится, проблема it нас будет волновать в последнюю очередь, из-за отсутствия компьютеров в принципе

Худший ответ:
Пишите на юнити
Вопрос: Клонирование приложение windows?

Лучший ответ:
Именно функционал клонирования, причем запущенного, есть у систем виртуализации, если физически машины имеют одинаковое железо то, на этом даже основаны системы резервирования приложений, позволяющие не прекращать их работу (доля секунды пауза) даже после смерти одной из машин (Fault Tolerance как часть High Availability у vmware).

Если речь идет о переносе настроек, то в большинстве случаев достаточно определить место их хранения и скопировать только их. Можно проконтролировать как именно приложение устанавливается на машину с помощью монитора работы с диском и реестром (этого обычно достаточно) например приложения microsoft sysinternails

На практике никто конечно не решает это проблему в лоб, на целевую машину производят штатную установку приложения, а затем копируется реестр (с помощью штатного regedit) из HKLM и HKCU /Software/.. и  и файлы из appdata (плюс собственно файлы приложения, где их хранят)

Худший ответ:
Все зависит от конкретной программы, на сколько она сильно интегрируется в ОС. 
Чаще всего достаточно перенести рабочую папку и ключи реестра. Иногда служебную папку из AppData. 
Некоторые программы практически невозможно перенести.
Вопрос: Как на физическом уровне происходит прошивка нового выращенного процессора или любого другого микроэлектронного устройства?

Лучший ответ:
Все базовые операции в процессор уже зашиты, это называется "аппаратная реализация".
То, что вы подразумеваете, называется ПЛИС, погуглите, это интересно.

Худший ответ:
 Мозг человека имеет с рождения способность распознать цвета, звуки, образы, лица и кучу-кучу другой информации
Ничего подобного :) Новрожденный видит все - внезапно - кверх ногами! Ну то есть, он видит так, как на самом деле формируется изображение на сетчатке (в полном соответстствии с законами оптики) и только через некоторое время у него моск научается "переворачивать" изображение. И со всем остальным то же самое - если интересно, берем книжку для молодых родителей и читаем :)
Вопрос: Как работают ?id=, ?p= и т. д. в ссылках?

Лучший ответ:
Это называется GET-параметрами. Да, ты так файл не назовешь, но эти параметры можно получить через JS или с бекенда

Худший ответ:
Это так называемая пагинация. Её можно реализовать (логику работы, не визуал) как со стороны сервера, так и со стороны клиента. Как правило реализуется со стороны сервера.
Вопрос: Может ли робот-тестировщик в Google Play накликать по рекламе недействительные клики?

Лучший ответ:
Можно держать json с рекламными кодами на хосте, на время проверки туда ставить тестовые, а после публикации изменять. Мы так делали, метод рабочий ;)

Худший ответ:
Робот однозначно сможет сделать клики по рекламе.
Гугл умеет очень хорошо такое распознавать и обязательно забанит.
Лучше всего для роботов отключать рекламу, но в таком случае это будет не совсем полноценное тестирование.
Вопрос: Как реализовать вещь, которая изображена на скриншоте?

Лучший ответ:
Данный элемент обычно называется Overlay. Его предназначение заключается не только в том чтобы затемнить область вокруг модального окна или off-canvas меню для наилучшей фокусировки на элементе, но ещё и для того чтобы при клике на данный элемент можно было закрыть окно/меню. 

Однако если закрытие по клику не нужно, разумеется можно сделать и тенью и псевдоэлементами как вам подсказали в комментариях.

Или если всё же нужно закрытие по клику, тогда вариантов несколько.

Первый вариант:

Оборачиваете off-canvas меню в обертку для которой устанавливаете полупрозрачный темный фон. При открытии меню, делаете обертку и меню видимыми. 

Второй вариант:

Создаёте отдельный элемент для оверлея, задав нужный полупрозрачный темный фон. При открытии меню, делаете оверлей и меню видимыми. 

Есть ещё несколько вариантов, но эти два наиболее подходящие для решения подобных задач.

Вот как пример библиотека onoffcanvas.

Худший ответ:
По клику на меню создавайте блок 100% на 100%. Задайте ему полупрозрачный черный беграунд. Не забудьте, что меню, которое вылазить, должно иметь слой выше, чем затемнение. Надеюсь, помог
Вопрос: Почему, если файл называется как и папка, то пхп не хочет его находить?

Лучший ответ:
У вас какой-то реврацтер который переписывает адреса в итоге адрес фала admin перезаписывается в адрес папки и там нет индексного файла

Худший ответ:
проверьте путь, по которому пхп пытается найти файл и сами файлы и папки, скорее всего при переносе файла в папку, что-то надписалось в коде
Вопрос: Почему в resolv.conf прописывается чужой айпи?

Лучший ответ:
там либо ip который приходит от DHCP сервера (провайдера или роутера, зависит от конфига сети), либо ip который подсовывает сервис dnsmasq , хотите чтобы был свой - читайте как работает NetworkManager

Худший ответ:
потому что теперь этот файл контролируется systemd-resolved...
погугли netplan для настройки сети, если у тебя Ubuntu
Вопрос: Перевод фото таблицы в матрицу из 0 и 1?

Лучший ответ:
Нет тут никаких алгоритмов. Тупо пройдитесь по изображению двумя циклами и заполните соответствующую ячейку нулем или еденицей.

На изображении квадратики размера 2x2, между ними один пиксель пустой. И по границам еще пустые пиксели. Если обрезать 1 пиксель справа и снизу, то получится, что каждой ячейке соответствует квадрат 3x3: или целиком белый, или с 4-мя черными пикселями в правом нижнем углу.

Соответственно, достаточно проверять пиксель с координатами 3*i+1, 3*j+1 для получения значения ячейки [i][j] (все индексы с 0).

Т.е. в вашем языке программирования получаете изображение в виде матрицы пикселей, потом двумя циклами до 100 заполняете все ячейки матрицы - смотрите на нужный пиксель и, если он не белый, ставите 1.

Если изображение с артефактами сжатия, то можно брать среднее между 4-мя пикселями 3*i+x, 3*j+y (x,y=1..2) по всем трем компонентам (RGB) и смотреть, что оно сильно отличается от черного. Для этого делаете еще 2 вложенных цикла по x и y, там прибавляете значение цветов пикселя в переменную, потом делите на 12 и сравниваете, допустим, с 200. Если меньше - это черный квадрат, если больше - то белый.

Худший ответ:
Воспользуйтесь imagemagick и форматом PBM.
convert 604114325f6c6120761636.jpeg -sample 100x100 -compress none out.pbm
tail -n 100 out.pbm > out.txt
Вопрос: Почему графический шаблон перехода в «premier pro» отображается красным цветом?

Лучший ответ:
Такая же проблема на премьере 2021. Где-то находил решение, вроде как из-за перевода и если установить английский язык, то проблема пройдет, но не пробовал

Худший ответ:
Инстинну глаголишь, переход en_US интерфейс решил все загадочные проблемы. У меня повылазил красный на всех шейпах и эффекта ну и пропал после перехода на англ интерфейс
CTRL+F12
Вопрос: Какие знания нужны для взлома мобильной игры?

Лучший ответ:
Думаю, если такой вопрос возник, идею стоит похоронить. Правило "ломать - не строить" с реверс-инженирингом не работает. Это задача порой более сложная, чем сама разработка, а если защита была предусмотрена, и грамотно реализована, взлом может оказаться вовсе невозможным

Худший ответ:
Если игра онлайн - то без доступа к серверу вы ничего не сделаете
Вопрос: Как быстро проверить, является ли некоторое огромное число (от 100 знаков) квадратом целого числа?

Лучший ответ:
Можно попробовать вычислить корень быстрым алгоритмом. Но там сложно. Гуглите Karatsuba square root. Есть открытые реализации. Есть еще какой-то адский метод через быстрое преобразование Фурье, попробуйте погуглить и его.

Более простой в реализации, но менее быстрый метод вычисления корня - бинарный поиск. Храните l, r, l^2, r^2 и lr. По этим числам можно вычислить m=(l+r)/2, m^2, m*l, m*r без длинных умножений, а только складывая длинные числа и деля на 2. Вам надо поддерживать, чтобы l^2 <= n <= r^2. Изначально можно сделать l=1, r=10^51 (или больше - половина длины входного числа + немного, чтобы точно квадрат был больше n), потом делить отрезок пополам и отбрасывать ненужную половину.

Еще есть вероятностный метод через символ Лежандра/Якоби. Это будет самым быстрым методом.

Это как смотреть на последнюю цифру. Квадраты могут давать там 0, 1, 4, 9, 6, 5. Но нет ни одного квадрата, который оканчивался бы на 2. Т.е. если число заканчивается на 2, то можно сразу говорить, что это не квадрат. Это мы взяли остаток от деления на 10 (последняя цифра) и посмотрели, какие из них хорошие. Вот символ Лежандра - это такая проверка для модуля по любому простому числу (а не 10). 

Если брать некоторое простое число p, то n может быть квадратом, только если символ Лежандра (n/p) - равен 1 или 0 (По научному: n - должно быть квадратичным вычетом). 

Если брать небольшие (<64-битные) простые числа, то можно за линию считать n%p и потом вычислять символ Лежандра (n%p/p) по алгоритму через символ Якоби за O(log(p)^2). Когда подсчитали символ Лежандра и если он -1, то n - точно не корень.

Тут проблема в том, что это необходимый, но недостаточный критерий - если для какого-то p вы получили -1 - то это точно не квадрат. Но возможно можно подобрать такое число, что все ваши тесты дадут 1, а оно не квадрат. Поэтому надо брать много простых чисел. Скажем, 20. Желательно еще числа брать достаточно большими. Но их не надо искать каждый раз, можно захардкодить. Грубая прикидка говорит, что вероятность ошибки такого алгоритма 2^(-количество простых чисел).

Т.е. берете много простых чисел. Считаете для каждого n%p выполняя деление большого числа на короткое (один проход по массиву цифр). Потом считаете символ Лежандра. Если получили где-то -1 - то точно не квадрат. Иначе - скорее всего квадрат.

Можно совместить вероятностный тест и вычисление корня. Сначала проверьте парочку простых чисел на символ Лежандра для отсечения точно не квадратов. Еще проверку последней цифры можно сделать, это очень дешево. Если не отсеклись, то считайте корень. Так будет всегда работать правильно но будет быстрее работать в некоторых случаях.

Худший ответ:
Ну если  очень быстро это нужно предварительно просчитать нужный диапазон, а потом по мапе проверять.