|
|
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Добрый день, озадачили меня на собеседовании такой задачей: Есть массив целых чисел A, размерностью n. Напр. A=[1,2,3,4,5] Из него сделали массив B, размерностью 2*n, таким образом: B=[A,A]. Напр. B = [1,2,3,4,5,1,2,3,4,5] Из массива B выкинули одно число, получился массив С размерностью 2*n-1. Элементы массива С перемешаны в произвольном порядке . Задача - определить, какое число было выкинуто ЗА ОДИН ОБХОД массива C. У меня идей нет, а у вас? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2010, 12:15 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
abc_da, тупо простым перебором? ;-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2010, 12:19 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
просуммировать элементы в массиве С Сумма массива А умноженая на два минус сумма массива С и будет искомым числом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2010, 12:21 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
rstudio, это слишком очевидно. М.б. есть какое-то доп. условие? Например, мы не знаем, какие числа были в исходном массиве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2010, 12:47 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Поксоритьнахвесьмассив Код: plaintext 1. 2. Парные элементы обнуляются в операции XOR (побитово), а "мистер одиночество" останется как есть в n ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2010, 13:08 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
rstudioСумма массива АА мы ее не знаем и вычислить не можем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2010, 13:56 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
miksoftrstudioСумма массива АА мы ее не знаем и вычислить не можем. в условиях задачи этого нет. Основное условие Задача - определить, какое число было выкинуто ЗА ОДИН ОБХОД массива C. Но с ХОR тоже вариант крутился в голове, просто не знал получится ли найти элемент. На собеседовании наверное обязательно предложил или рассказал о своем ходе мыслей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2010, 13:59 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
abc_da wrote: на самом деле можно ещё чисто технически решить. И не применяя условие, что там числа идут подряд. Просто найти за O(N) непарное число. чисто формально время поиска по хэш-таблице - O(1). Поэтому идём по массиву и считаем в элементах хэш-таблицы кол-во повторений. Потом читаем и смотрим где оно на 1 меньше. Получаем O(N). Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2010, 14:29 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
сумма удвоенного массива = (1 + n ) * n <- ( формула Гаусса) ( число элементов массива после удвоения четное) за один проход массива С считаем его сумму разница = выкинутое число ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 11:06 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Valerсумма удвоенного массива = (1 + n ) * n <- ( формула Гаусса)Про этот момент можно поподробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 11:21 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Гаусс когда был маленьким ребенком ( 10-12 лет) он нашел формулу для суммы массива целых чисел от 1 до N идея проста сложить первый и последний элемент =( 1 + N ) + сложить второй и предпоследний элемент = ( 2 + N - 1 ) = ( 1 + N ) и т.д. всего таких пар N/2 четных N или (N-1)/2 для нечетных, но тогда остается центральный элемент формула легко обобщается если не массив начинается не с 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 11:51 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Valerформулу для суммы массива целых чисел от 1 до NВ условии задачи не сказано, что массив А заполнен последовательными числами от 1 до N. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 12:06 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Есть массив целых чисел A, размерностью n. Напр. A=[1,2,3,4,5] в первом топике ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 12:42 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
ValerЕсть массив целых чисел A, размерностью n. Напр. A=[1,2,3,4,5] в первом топикеОбратите внимание на слово "Напр", оно означает "например". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 12:43 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Вопрос в том, что вы пытаетесь определить - само число или его положение, "номер элемента в массиве", так сказать. Число, действительно, решается элементарной суммой - "за один проход" как раз и подразумевает, что сумму элементов массива вы сможете вычислить. А вот положение в один проход невозможно вычислить хотя бы потому, что был применён рандом к массиву B - пропало любое однозначное отображение A->B... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 13:07 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
AndreTMбыл применён рандом к массиву B - пропало любое однозначное отображение A->B...Хм, мне казалось, что B=[A,A] - это никак не рандом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 13:15 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Соврал. Отображение A(B)->C. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 13:24 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Еще раз соврал. B(A)->C ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 13:27 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Обратите внимание на слово "Напр", оно означает "например". корректно ответить последовательные числа или нет может только автор топика. напрмер, он не стал набирать [ 1,2,3,4,5,6,7]. + зачем тогда еще и перемешивать ? скорее всего, если набор произвольный, то решения за 1 проход нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 14:47 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
ValerОбратите внимание на слово "Напр", оно означает "например". корректно ответить последовательные числа или нет может только автор топика. напрмер, он не стал набирать [ 1,2,3,4,5,6,7]. + зачем тогда еще и перемешивать ? скорее всего, если набор произвольный, то решения за 1 проход нет xor чем не устраивает? (решение ЯрМеча) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 14:49 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
БерлuнгерValerОбратите внимание на слово "Напр", оно означает "например". корректно ответить последовательные числа или нет может только автор топика. напрмер, он не стал набирать [ 1,2,3,4,5,6,7]. + зачем тогда еще и перемешивать ? скорее всего, если набор произвольный, то решения за 1 проход нет xor чем не устраивает? (решение ЯрМеча) ?Наверно, тем, что для ознакомлением с этим решением придется (в поисках оного) прочесть весь топик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 14:54 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
согласен, XOR решение универсальное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 15:54 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
Valer wrote: > + зачем тогда еще и перемешивать ? > скорее всего, если набор произвольный, то решения за 1 проход нет Да есть. Я ж писал. Ну ладно, не за один, за два. Но это мелочи. всё равно O(n) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2010, 20:26 |
|
||
|
Задача с массивом
|
|||
|---|---|---|---|
|
#18+
MasterZiv Valer wrote: > + зачем тогда еще и перемешивать ? > скорее всего, если набор произвольный, то решения за 1 проход нет Да есть. Я ж писал. Ну ладно, не за один, за два. Но это мелочи. всё равно O(n) xor -- 1 проход ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2010, 11:18 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36857146&tid=1343440]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
171ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 463ms |

| 0 / 0 |
