Въпрос за интервю с алгоритъм: Как да обърнем цяло число с помощта на JavaScript

Един общ въпрос за интервю, който получават много кандидати за софтуерното инженерство, е обратният цяло число, който гласи: „Като се има цяло число, върнете цяло число, което е обратното подреждане на числата“. Това изглежда достатъчно просто, но много начинаещи програмисти често се борят да намерят цялостно решение. Този блог ще премине в задълбочен преглед и разбивка на отговора на този проблем.

Първо ще представя отговора, а след това ще разбия и ще обясня всеки аспект на отговора.

функция reverseInt (n) {
const reverse = parseInt (n.toString (). split (''). reverse (). join (''))
върнете Math.sign (n) * обратната страна
}

Нека да разгледаме това допълнително.

Стъпка 1) Първо създаваме функция, наречена reverseInt, която приема аргумент от число (n). Въпреки че няма вграден начин да се обърне число в JS, ние знаем, че .reverse () може да бъде извикан, за да обърне съдържанието на масив. Но как би превърнал цяло число в масив? Това е процес в две стъпки. Нека започнем с числото 531. Нека създадем променлива, наречена обратна.

Стъпка 2) За да започнем това, трябва да преобразуваме цяло число в низ, така че започваме с n.toString (), който постига точно това. 531 ще стане „531“, ако се обадим на него 531.toString ().

Стъпка 3) Едно, което имаме цялото число като низ, можем да наречем .split ('') на низа. Ако не сте запознати с .split функцията в JavaScript, проверете тази връзка. Сплит има опция за разделител и ограничение. Ако като разделител се използва празен низ („”), низът се разделя между всеки знак. Връща масив с елементите, които са били „разделени“. Сега имаме масив, в който всеки елемент представя всяка цифра от началното число. „531“ вече е [5, 3, 1]

Стъпка 4) Сега, когато имаме цялото число като масив, можем да извикаме .reverse () на масива, който ще го обърне обратно. Ако масивът е [5, 3, 1], той вече ще бъде [1, 3, 5]. След като го върнем във вид на масив, следващата ни стъпка е да го превърнем обратно в низ.

Стъпка 5) За да превърнем масив в низ, ще трябва да извикаме метода .join () в масива с параметрите на празен низ („”). Това ще вземе нашия масив, например [1, 3, 5] и ще го превърне в низ от „135“.

Стъпка 6) Вече сме толкова близо! Ние сме обърнали низа си, сега трябва да превърнем низ в цяло число. Начинът, по който го правим, е като го предаваме в parseInt (). След като наречем parseInt на низа „135“, резултатът ни е числото 135.

Стъпка 7) Това е съществена стъпка, тъй като цели числа могат да бъдат положителни или отрицателни! Math. подпишете се на помощ! Math.sign () взема цяло число и въз основа на неговия знак връща или 1, или -1. Ако предаваме n като аргумент на Math.sign, той ще ни даде 1, ако е положително число или -1, ако е отрицателно число, така че всичко, което трябва да направим, е да умножим резултата от Math.sign (n) от цяло число на обратната променлива, което получихме, за да получим нашия отговор!

Имате го, задълбочено обяснение на прост и ефективен метод за решаване на проблема с обратното цяло число. Честито кодиране!