(ч.2)iOSндексШколаМобильнойРазработкиiOS //Вступительные

Витогезадачасводиласьктому,чтобынемногоизменитьготовоерешениеипротестироватьлокально。 Objective-C的最新消息。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 Наэтузадачуушлооколо1.5часовионапрошлатестынаплатформеспервойпопытки。

Началонеплохое)

Наследующийденьзнакомыйрассказал,чтоонпростонашелразмеррешетадлячисла1⁰⁶иподставилего。 Врамкахзаданияможнобылоитак。 😉

2.Преобразованиестрок

Навходпередаетсястрока。 Необходимоеетрансформировать(сжать),还有затемвывести。 Напримересливход:aaabb77daa8ccc,навыходе:3a2b27d2a83c。

Objective-C中的 Намойвзглядэтосамоепростоезадание ПозжеяузналкаквсеэтоназываетсяWiki。 ,сноваобрадовался,решениепрошловсетестыспервогораза。 Послеэтогояуженемногорасслабился,在к⁰⁰даибылоближе之前。

3.Крестикиинолики

Необходимоопределитьисходигрыприидеальнойигрекаждого,еслиизвестентекущийраскладполя。 Такжеизвестно,чтобылосделано1,2или3хода。 Однимходомсчитатьдействиеобоихигроков。 X — O —图库照片#—图库照片。 获胜:X赢了—赢得了O,赢得了O —赢了Draw —赢得了。

Решаяэтузадачуяисписалмноголистовбумаги,поигралвреализациюотGoogle。 Потомискалвозможныеисходыиалгоритмыимнепоказалось,чтоещечуть-чутьиятутиттентер。 Былооколо4ночииярешил,чтоэтузадачулучшепропуститьивернутьсякнейпозже。

// TODO: Вернутьсякэтойзадачепозже

Вернулсяяужеближек7утра。 Objective-C中的Голованеработала,ноянакидалпримерныеситуации。 Идеябылавобработкешаблонныхситуаций。 Например,Xвцентре,或OневдиагональнойклеткеприидеальнойигреXпобедит。 Проверкинавозможностьсозданияситуаций,вкоторыхнаследующемходуможнопобедить(вилки)。 Посленесколькихпопытокиисправленийярешил,чтолучшесейчасуженесделаю。 Витогеяненабралмаксимальныйбалпоэтойзадаче。

Возможноэтузадачуможнорешитьиспользуяминимаксилисхожеедереворешений,носходуянемогупридуматькакправильновзвешиватьситуацииприидеальнойигрекаждого。 Есликто-тознает,在комментариях上添加бадурадеслиподелитесь。 😉

4.Графы

Навходпередаетсяколичествоточекиребернеориентированнооографа。 Затемперечисляютсяпарыточек—ребра。 Ипослеэтогоидетсписокиндексовребер,которыенеобходимоудалять。 Задачанайтиивывестивсекомпонентысвязностипослекаждогоудаленногоребра。 Ребрамогутповторяться。

Ужеточнонепомнюлимитынаколичествоточек,реберииндексов。 упочтиуверен,чтобольшечем1⁰⁶。

Последнийразяработалсграфамив2012году,когдазанималсясозданиемприложениядляпроектирова。 Послереализации,оченьинтереснобылопросторазбиватьбольшиеквартирынамножествокомнат。

Длярешениязадачияпосмотрелкакискатькомпонентысвязности,нашелпримерыреализициипримен。 Вроденичегосложного。 Длябыстрогоудаленияребернужнопростоиспользоватьподходящиеструктурыданных。 限制时间:2.056。时限:2.056。

Послеэтогояпереписывалрешениеещедесяткираз。 CслабознаюC ++,在даивграфахнесилен。 Почиталоструктурахданных,пыталсяпереписатьразнымиспособами。 Потомяпонял,чтоесликоличествоудаляемыхреберравноколичествувсехребер,токоличествокомпонентсвязностибудетравноколичествуточек!)Быстродобавилпроверкуиотправил。 Получилпримерно时限:2.049。 Кэтомумоментуяужепотратилпаручасовнарешениеэтойзадачиискореевсегоужебыло6утра。 Японял,чтопоравозвращатьсяккрестикаминоликам..

Вконцеконцовянабралнаэтойзадачепримерно60–70%баллов。 ,скопировалсвойкод,чтобыпоказатьколлегенаработе。

Можетпоказаться,чтозадачаоченьсложная。 Но..меняждалсюрприз。 Коллегасказал,чтовалгоритмевсехорошоиособыхпроблемневидит。 Хотяподметил,чтосовсемнеобязательновыводитьколичествокомпонентсвязностипослекаждегеуд。 Особеннокогдаэтоможетпроисходитьпомиллионураз..

Вцеломзадачибылинесложные。 Втораябылаоченьпростая。 Первуюипоследнююможнобылорешитьдажеесливынезнаетенужныхалгоритмов。 Напросторахинтернетахватаетинформации,例如сводитсякпоискуиприменению。 Третьязадачанаверноебыласамойсложнойдляменя,кнейсложнонайтипочтиготовоерешениеилиди。 Ночьюяизмучилсярисоватьиразбиратьбольшоеколичествоситуаций。 Возможноднемябысправилсяснейбыстрее。 Вцеломянабралмаксимальныебалытолькопопервымдвумзадачам。 Подвумостальнымчто-тооколо60–70%,насколькояпомню。 Витогеэтогобылодостаточно,чтобыпопастьнаочноесобеседование。

Очноесобеседование

Наверноеспустянеделюмнепришлописьмо。 НеобходимобыловыбратьвремяиприйтивофискомпанииЯндекс 。 Кэтомусобеседованиюяпочтинеготовился,толькопросмотрелещеразонлайнзадачи。 Мненаивноказалось,чтобудетскорееорганизационнаячастьивозможноустныетехническиевопооы

Когдаяужепришелвофиснужнобылонемногоподождать。 Покаяожидалнаресепшенсомнойрядомсиделпарень。 ,быстродогадался,чтоонтожепришелпоступатьвшколу。 Былооченьзаметно,чтоонсильнонервничал)

Собеседованиебылоразбитонадвечасти:техническаяиорганизационная。 Накаждуючастьотводилосьпо30минут。

Натехническойчастимнепродиктовализадачунапреобразованиестрок。 Самазадачабыланесложная,ноеенужнобылонаписатьнасуществующемязыкепрограммирования(оо Послереализациименяпопросилиизменитьрешениебезиспользованиядополнительнойпамятииопред。 使用Objective-C的 Вцеломзаданиемнепоказалосьлегким。

Ворганизационнойчастибаличныевопросыобобразовании,опытеразработки,желанииобучать。 Мнепоказалось,якакразпровалилэтучасть。 Деловтом,чтоуменяужебылхорошийопытивозникалисомнениявмоейзаинтересованооивстаж Аосновнаяцель,какяпонимаю,привлечьиобучитьбудущихсотрудников。

Почтиконец

Вэтойстатьеяописаллишьсвоиидеирешениязадач。 Агдежекод?!Ксожалению,оригинальныйкодбылутерян。 Обэтомяписалчутьвыше。 快速,快速, 迅速地完成任务。 Иужесобиралсядобавитьрешениявстатью。 Ипотомзадумался,акакаяразницакакярешилэтизадачи? Намноговажнеекакрешитеихвы,когдаэтопотребуется!)

Поэтомуяподготовилвозможностьповторитьэтоиспытание,либомуктозахочет,наплатформеCodewars。 Поссылкеясоздалколлекциюиз4испытанийподназваниемYandex iOS学校入学考试是 Swift。 Всечтовамнужно,зарегистрироваться(можносGithubаккаунта)иввсможетерешатьэтизадачисооом。 Затемвашерешениедолжнопройтитесты,основанныенамоемрешении。 Пишите,еслибудутпроблемы。 Уменяпокажелтыйпояспопрограммированию。 😉

Заключение

Какиевыводыясделалдлясебя?

  1. ВЯндексеоченьлабатьзадачинаприменениеалгоритмовиструктурданных。 Неважнонакакомязыкевыпишите。 Неважнокакойувасопыт。 Нужнохорошопониматькакписатьнетолькорабочий,ноиоптимальныйкод。 Могупорекомендовать: 如何开始使用算法成为更好的开发人员
  2. Вамнеобходимокакминимумодинязыкпрограммирования(желательноООП)натакомртн Речьидетименнообязыкеиегостандартнойбиблиотеке。 Написаниециклов,работасостроками,коллекциями,файлами,итп。 Этоневключаетзнаниеконкретнойплатформы,инструментовитп。
  3. Вонлайниспытанииважноненаписатьидеальныйалгоритмсвоимируками,ауметьопределитьтипзадачииподобратьнеобходимыесредствадляреализациизаопределенноевремя。 使用Objective-C和C / C ++编写的对象。
  4. Исамыйпростойвывод。 Квсемуэтомунужноготовиться。 Мнекажетсяидеальныхзнанийпростонебывает。 Темболеесобеседования,соревнованияитп。 —этовсегданебольшойстресс。

Идеал—цель,котораявсегдаменяется。 Нельзяостанавливаться。

Вследующейчасти

,расскажуосамомобучениившколе,поделюсьвпечатлениемодомашнихзаданияхилекциях。 Былооченьинтересно)Скореевсегоэтобудетпоследняячасть。

Наэтомпокавсе。 Иконечно,еслистатьябылаваминтересна,ставьтелайки👏🏻,подписывайтесьздесьиливTwitter。 Лайкибудутмотивироватьменянапродолжение,和сыпомощьюподпискивыузнаетеоследующейчасти。 😉

Третьячасть,последняя。

🍎芬奇(@artFintch)| 推特

🍎Finch(@artFintch)的最新推文。 iOS #iOSразработчик,игрокатакжепопсарьихардрокер。 Играюнапианинои…

twitter.com