Solmyr

Solmyr
Рейтинг
501
Регистрация
10.09.2007
Фома:
Серч использовался как пример сайта на котором размещена ссылка/превью на картинку. Вы специально троллите? Простите, что не нагрубил.

Сайт не может нести никакой ответственности ни за что. Ответственность несет какое-то юридическое или физическое лицо. В данном случае то, которое неправомерно использовало объект защищенный правом ИС. Если используете вы - ответственность несете вы.

Убрать вредоносное ПО, добавить сайт в ВМТ, заказать перепроверку.

Если просто убрать вредоносное ПО, то тоже пропадет, но позже.

vidik:
Можно ли вернуть деньги оптимизаторам за дешевые ссылки, что бы уменьшить ссылочность?

Только деньги пойдут не оптимизаторам а ГГЛ. ГГЛ не возвращает деньги оптимизаторам за незастрахованные ссылки.

Marat_Kh:
Тады и изначальный вариант работает, если массив нужен потом.

Нужно с помощью unset сократить перебор

---------- Добавлено 26.02.2016 в 09:54 ----------

А еще такой вопрос. Если массив с числовыми ключами:

	
$arr = array('a','b','c');

foreach($arr as $key=>&$vl){
echo $key.'-'.$vl."\n";
if($vl=='a'){
unset($arr[1]);
}
}

То в данном случае, вариант doctorpc тоже работает точно как надо. Результат:

0-a

2-c

Можно ли ожидать что так и будет работать при изменениях версий PHP? Я именно имею ввиду момент, связанный с отличием в массивах php для числовых и для символьных ключей.

LEOnidUKG:
Долго это сколько миллисекунд?

Один проход примерно 0.0005-0.001с на реальных данных. То есть 500-1000 миллисекунд.

doctorpc, Удивительно, но первый вариант сработал. Спасибо огромное. Я три раза перечитал описание foreach, думал о таком решении, но не попробовал. Почему-то подумал что работать не будет. Сейчас попробовал - работает.

LEOnidUKG:
Ничего страшного, прогнать массив не долго.

Один раз не долго, а сделать такую операцию 100000 раз - долго. Требуется реализовать алгоритм, который будет не просто работать, а работать максимально быстро, насколько позволяет математика. Не хочется только из-за того что php это не может переходить на какой-то другой язык...

orphelin:
Solmyr, а если создать еще один пустой массив и в него записывать фильтруемые элементы и и перед анализом проверять a!=b?

Да, это первое что приходит в голову. Но это костыль, дублирование данных. Хочется сделать не "абы как шоб работало", а максимально оптимально. Может быть как-то можно решить эту задачу, изменив исходное представление данных?

---------- Добавлено 25.02.2016 в 23:29 ----------

Полностью задача выглядит так. Есть некая дискретная последовательность элементов, пусть числовой ряд. На эту последовательность наложены отрезки разной длины (в основном короткие), отрезки взаимно перекрываются, про отрезки известно начало и их длина (в общем все что характеризует отрезки). Требуется из массива отрезков выкинуть все отрезки которые полностью перекрываются каким либо одним другим отрезком (если отрезки равны - то не выкидывается ни один, выкидываются при условии если длина одного строго больше чем длина другого). Выполнить максимально быстро. В том числе, задача должна выполняться максимально быстро и в случае если всего отрезков мало, экономия времени должна быть не только на оптимизации перебора но и на оптимизации самого процесса "выкидывания". Исходные данные, уже изначально сортированы по точке начала отрезка, можно это использовать, можно не использовать.

KOROLEV:
непонятно зачем?

можно использовать

Нельзя. Обратите внимание, при анализе элемента 'a' выясняется что можно выкинуть элемент 'b'.

KOROLEV:
Или еще вариант - прогнать цикл и сформировать необходимый массив

Если прогнать полный цикл - это нерациональное использование вычислительного ресурса, т.к. анализируя элемент 'a' мы понимаем, что элемент 'b' можно не анализировать. А если прогонять полный цикл - его придется анализировать.

Фома:
Solmyr, возьмём пример: Жириновский негодуе.

Допустим, что Владимир Вольфович не публичный человек и не хочет чтобы публиковали его фото. Кто несёт ответственность в этом случае Серч или ytimg.com?

Я не очень в курсе прав модели на фото. Давайте пример попроще. Если там не Жириновский, а котик в осенних листьях, и предъявляет претензии автор этого фото, то ответственность не несет никто, т.к. претензии идут к вам, как к лицу, которое использоало изображение, а вы говорите что привели ссылку в "образовательных целях". Ни серч ни ytimg.com не при делах.

---------- Добавлено 25.02.2016 в 21:28 ----------

Asar:
Кстати, а Яндекс-то с Гуглом как уж там отмазались на примере их поиска по картинкам кто-нить помнит?

Они создают "производное произведение", а картинки используются "в объемах разумного цитирования". Как-то так.

В США еще катит за отмазку, что не написав запрет в роботс автор дал разрешение на использование, в соответствии с законом.

Всего: 6168