A Miner Task, Javascript problem
Какви са тези бъгове и защо все на мен ми се случват не мога да си обясня. Този javascript ми скъса нервите. 100 пъти я преправях тази задача и накрая реших да видя какъв input ми се дава и защо така се получава. Вижте на снимката и ми дайте някакво обяснение моля. Ако някой знае някаква магическа формула някак да мога да реша този проблем без да се налага да нагласям output да е каквото се очаква, моля помогнете ми.
На мен ми е ясно, че това на снимката не е правилният отговор. Аз питам защо по дяволите не ми дава тъпият javascript всичките редове ?!?!? Трябва да получа това:
input[0] = null; или input[0] = "";
input[1] = "12";
input[2] = null; или input[2] = "";
input[3] = "1";
input[4] = "stop";
Тоест 5 елемента, аз получавам 4 елемента без първия. На мен input ми го дава така:
input[0] = "12";
input[1] = null; или input[2] = "";;
input[2] = "1"
input[3] = "stop";
Ако трябва да си го доизмислям аз, че може би едва ли не някой път може да е мислил някой нещо си някак си и да седна да правя интерпретативен разказ на това, което някой какво си е мислел за първи ред и изведнъж да ми светне, че винаги щом получавам някакъв input за тъпата жабаВкрипта може би ще значи, че е или празен ред или whitespace или таб, или нещо си друго дето ще го разбера като си submitna кода и ми изврещи judge на пет хиляди места и ще седна да търся кое празно място или таб или спейс може би е бил някъде си из inputa и жабаВкрипта не го е прочел както трябва и вече си загубих мисълта, и само знам, че жабата ме вбеси до краен предел днес. То не беше тва, то не беше string.length = 4 ама не било число и било undefined, и един път може да се смята с него пък друг път не може, то не беше, че function blabla(){} не било функция. Ами то го пише в началото бе ЖАБО! FUNCTION как да не е функция бе ??!?!? var a = 12; не било число (NaN)... ,ами какво е ? домат ли ? котка ли е ? какво е ? Аз така като гледам май да пусна котарака на клавиатурата да походи малко пък ЖАБАТА може и да каже, че тва е решението на задачата и без тва си прави каквото си иска и само отвреме на време изкарва един и същ резултат с един и същ алгоритъм и входни данни.
Ами виж и моя код: http://pastebin.com/sAqJnarx
Като гледам и ти имаш 83 точки, колкото изкарвам и аз. Доколкото разбрах от лекторите, които питах, "input"-а за JavaScript се чете малко кофти, повечето пъти се подава под формата на масив от стрингове (или не..), който трябва да си обработиш след това. Така се стремях да реша и всички задачи с JavaScript, макар и малко никога да не си точно наясно с входа и как се подава...
Обаче на въпросния тест, най-вероятно самия вход, който ти подават е грешен, просто защото първият ресурс липсва - [ '12', ' ', '1', 'stop' ]. Ако цъкнеш на Show Input и маркираш с мишката ще видиш, че самия вход би трябвало да го има на 1-ви ред и да е с по-малко празни места от втория ресурс, нещо такова - [' ', '12', ' ', '1', 'stop' ]. Доколкото можаха да ми кажат, би трябвало да е грешка и щяха да го оправят.