Largest common end 36/100
http://pastebin.com/Ze1T4wWN до тук я докарвам. Предполагам, че не излизат входовете, при които са с различна дължина. Помощ???
http://pastebin.com/Ze1T4wWN до тук я докарвам. Предполагам, че не излизат входовете, при които са с различна дължина. Помощ???
Итерациите ти трябва да са: int iterationsCount = Math.Min(arr1.Length, arr2.Length);, за да не излезнеш от някой array. Няма нужда от толкова сложни сметки в for циклите, защото те се извършват при всяка итерация (не съм 100% убеден) т.е бавят. Изкарвай си ги в отделни променливи + така разбираш дали са правилни по - лесно. Ето един примерен фикс :)
Може ли малко обяснение каква е идеята на този Index=1 ? Като цяло не разбрах как работи 2рия for цикъл,идеята е че почваш отзад напред,аз лично не се сещам как става ако не са равни,как взимаме последните части на по-дългият. Виждам че идеята на index да оправи прожлема,но не разбирам как работи :)
Броят на операциите си го определихме преди първия for цикъл. Във втория тръгваме отзад напред(може и да го променим - отпред назад), то ни е само да върти iterationsCount пъти, а index-a е помощна променлива започваща от 1, за да взимаме винаги последния елемент от arr1 и arr2 (arr1[arr1.Length - index] == arr2[arr2.Length - index]). След това си е ъпдайтваме. Забелязах, че ъпдейта на index-а съм го написал в if-a, което е грешно трябва да е извън (оправено).