Re[2]: Задача с собеседования: найти удаленноё число
От: Vain Россия google.ru
Дата: 04.06.11 21:29
Оценка:
Здравствуйте, Vintik_69, Вы писали:

А>>Честно говоря, задач там было много и я очень быстро написал, наверное, полный бред, что можно было бы массив разделить на части, отдать части на обработку потокам, которые там уже бы бинарным поиском нашли число. А как правильно?

V_>Сумму посчитать.
Бессполезно, в условии ничего не было сказано про возможность заполнения массива самому, изходя из условия — массив уже был заполнен.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[3]: Задача с собеседования: найти удаленноё число
От: 4UBAKA  
Дата: 05.06.11 10:28
Оценка:
Здравствуйте, Vain, Вы писали:

V_>>Сумму посчитать.

V>Бессполезно, в условии ничего не было сказано про возможность заполнения массива самому, изходя из условия — массив уже был заполнен.

А в чём разница, если мы знаем чем он был заполнен?
Re[4]: Задача с собеседования: найти удаленноё число
От: Vain Россия google.ru
Дата: 05.06.11 10:38
Оценка:
Здравствуйте, 4UBAKA, Вы писали:

V_>>>Сумму посчитать.

V>>Бессполезно, в условии ничего не было сказано про возможность заполнения массива самому, изходя из условия — массив уже был заполнен.
UBA>А в чём разница, если мы знаем чем он был заполнен?
Тем что для суммирования имеет смысл только если сам заполняешь такой отсортированный массив. Деление попалам будет в среднем здесь быстрее.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[5]: Задача с собеседования: найти удаленноё число
От: dilmah США  
Дата: 05.06.11 10:54
Оценка:
V>Тем что для суммирования имеет смысл только если сам заполняешь такой отсортированный массив. Деление попалам будет в среднем здесь быстрее.

а где написано что они отсортированы?
Re[5]: Задача с собеседования: найти удаленноё число
От: 4UBAKA  
Дата: 05.06.11 10:55
Оценка:
Здравствуйте, Vain, Вы писали:

V>>>Бессполезно, в условии ничего не было сказано про возможность заполнения массива самому, изходя из условия — массив уже был заполнен.

UBA>>А в чём разница, если мы знаем чем он был заполнен?
V>Тем что для суммирования имеет смысл только если сам заполняешь такой отсортированный массив. Деление попалам будет в среднем здесь быстрее.

Так быстрее или суммирование бесполезно?
Re[6]: Задача с собеседования: найти удаленноё число
От: 4UBAKA  
Дата: 05.06.11 10:56
Оценка:
Здравствуйте, dilmah, Вы писали:

V>>Тем что для суммирования имеет смысл только если сам заполняешь такой отсортированный массив. Деление попалам будет в среднем здесь быстрее.


D>а где написано что они отсортированы?


Опять пропускаем в условии слово "соответственно"?
Re: Задача с собеседования: найти удаленноё число
От: Аноним  
Дата: 05.06.11 11:32
Оценка: +1
А>Дана последовательность чисел от 1 до 10000, которые хранятся в массиве с индексами от 0 до 9999 соответственно. Из массива удаляется одно произвольное число.
А>Как вы найдете это число? Опишите свои дейсвтия.


Я думаю, бинарный поиск.

Если из массива удалили элемент N, значит, начиная с индекса N все элементы стали больше на единицу.

Берем средний элемент и смотрим: если индекс нормальный, продолжаем поиск в правом поддиапазоне, если больше на единицу, чем должен быть, продолжаем поиск в левом поддиапазоне.
Re[6]: Задача с собеседования: найти удаленноё число
От: Vain Россия google.ru
Дата: 05.06.11 12:54
Оценка:
Здравствуйте, dilmah, Вы писали:

V>>Тем что для суммирования имеет смысл только если сам заполняешь такой отсортированный массив. Деление попалам будет в среднем здесь быстрее.

D>а где написано что они отсортированы?
В условии
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[6]: Задача с собеседования: найти удаленноё число
От: Vain Россия google.ru
Дата: 05.06.11 12:57
Оценка:
Здравствуйте, 4UBAKA, Вы писали:

V>>>>Бессполезно, в условии ничего не было сказано про возможность заполнения массива самому, изходя из условия — массив уже был заполнен.

UBA>>>А в чём разница, если мы знаем чем он был заполнен?
V>>Тем что для суммирования имеет смысл только если сам заполняешь такой отсортированный массив. Деление попалам будет в среднем здесь быстрее.
UBA>Так быстрее или суммирование бесполезно?
Под бесполезностью я и имел ввиду что она будет сведена на нет.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[7]: Задача с собеседования: найти удаленноё число
От: 4UBAKA  
Дата: 05.06.11 13:05
Оценка:
Здравствуйте, Vain, Вы писали:

V>>>Тем что для суммирования имеет смысл только если сам заполняешь такой отсортированный массив. Деление попалам будет в среднем здесь быстрее.

UBA>>Так быстрее или суммирование бесполезно?
V>Под бесполезностью я и имел ввиду что она будет сведена на нет.

Теперь совсем не понял.
Re[3]: Задача с собеседования: найти удаленноё число
От: batu Украина  
Дата: 05.06.11 13:06
Оценка:
Здравствуйте, dilmah, Вы писали:


А>>XOR всех елементов масива в результате останется искомое число


D>не совсем так. это верно если xor всех чисел от 1 до N это ноль.

D>Но xor всех чисел от 1 до N равен:
D>N, если N%4 == 0
D>1, если N%4 == 1
D>N+1, если N%4 == 2
D>0, если N%4 == 3
Это можно исправить добавлением или проверить только часть массива. А решение красивое.
Re[4]: Задача с собеседования: найти удаленноё число
От: dilmah США  
Дата: 05.06.11 13:12
Оценка:
D>>N, если N%4 == 0
D>>1, если N%4 == 1
D>>N+1, если N%4 == 2
D>>0, если N%4 == 3
B>Это можно исправить добавлением или проверить только часть массива. А решение красивое.

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

Решение полностью тождественно решению с суммой, только вместо суммы взят ксор (который является разновидностью суммы).
точно также своп двух чисел без временной переменной можно делать через сумму, а можно через ксор.
Re[8]: Задача с собеседования: найти удаленноё число
От: Vain Россия google.ru
Дата: 05.06.11 14:21
Оценка:
Здравствуйте, 4UBAKA, Вы писали:

V>>>>Тем что для суммирования имеет смысл только если сам заполняешь такой отсортированный массив. Деление попалам будет в среднем здесь быстрее.

UBA>>>Так быстрее или суммирование бесполезно?
V>>Под бесполезностью я и имел ввиду что она будет сведена на нет.
UBA>Теперь совсем не понял.
Что именно?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[2]: Задача с собеседования: найти удаленноё число
От: Vain Россия google.ru
Дата: 05.06.11 14:24
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>Дана последовательность чисел от 1 до 10000, которые хранятся в массиве с индексами от 0 до 9999 соответственно. Из массива удаляется одно произвольное число.

А>>Как вы найдете это число? Опишите свои дейсвтия.

А>>Честно говоря, задач там было много и я очень быстро написал, наверное, полный бред, что можно было бы массив разделить на части, отдать части на обработку потокам, которые там уже бы бинарным поиском нашли число. А как правильно?
А>Используй указатели
..люк
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re: Задача с собеседования: найти удаленноё число
От: Muxa  
Дата: 05.06.11 14:28
Оценка:
самсунг?
Re[9]: Задача с собеседования: найти удаленноё число
От: 4UBAKA  
Дата: 05.06.11 19:00
Оценка:
Здравствуйте, Vain, Вы писали:

V>>>Под бесполезностью я и имел ввиду что она будет сведена на нет.

UBA>>Теперь совсем не понял.
V>Что именно?

Что такое "сведена на нет", неправильный результат будет?

Согласен, для отсортированного массива глупое решение, но работает.
Re[10]: Задача с собеседования: найти удаленноё число
От: Vain Россия google.ru
Дата: 05.06.11 21:46
Оценка:
Здравствуйте, 4UBAKA, Вы писали:

V>>>>Под бесполезностью я и имел ввиду что она будет сведена на нет.

UBA>>>Теперь совсем не понял.
V>>Что именно?
UBA>Что такое "сведена на нет", неправильный результат будет?
UBA>Согласен, для отсортированного массива глупое решение, но работает.
Микроскопом гвозди забивать глупое решение, но работает.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.