Вопрос интервью - PullRequest
       7

Вопрос интервью

2 голосов
/ 03 февраля 2010

Учитывая связанный список размером T , выберите первые 2n узлы и удалите первые n узлы из них; Затем сделайте это для следующих 2n узлов и так далее ...

Например, Давайте рассмотрим связанный список размером 7 :

  `1->2->3->4->5->6->7`

Если n = 2 , желаемый вывод:

  `1->2->5->6->7`

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

РЕДАКТИРОВАТЬ: Добавление тегов C и C ++, чтобы это могло охватить больше глазных яблок, и, конечно, это только два языка, разрешенные в самом интервью.

Ответы [ 2 ]

6 голосов
/ 03 февраля 2010

Это на самом деле выглядит так:

При наличии связанного списка размером T выберите первые 2n узлов и удалите из них last n узлов; Затем сделайте это для следующих 2n узлов и так далее ...

или

Учитывая связанный список размера T, выберите первые 2n узлов и оставьте первые n узлов из них; Затем сделайте это для следующих 2n узлов и так далее ...

Это означало бы выбрать 1,2,3,4, затем удалить 3,4 (или оставить 1,2, что одно и то же). Затем выберите 5,6,7,8, невозможно, поэтому остановитесь.

3 голосов
/ 03 февраля 2010

Я думаю, что это даже проще, чем указывает @paxdiablo ...

do
  take n
  skip n
until you run out of elements to take or skip
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...