Skip to content

Instantly share code, notes, and snippets.

View aershov24's full-sized avatar
🇦🇺

Alex Ershov aershov24

🇦🇺
View GitHub Profile
@aershov24
aershov24 / Markdium-JavaScript.js
Created October 13, 2020 05:28
Markdium-12 Recursion Interview Questions (SOLVED) Devs Have To Nail
const sqrt = Math.sqrt;
const pow = Math.pow;
const fibCalc = n => Math.round(
(1 / sqrt(5)) *
(
pow(((1 + sqrt(5)) / 2), n) -
pow(((1 - sqrt(5)) / 2), n)
)
);
@aershov24
aershov24 / Markdium-Java.java
Created October 13, 2020 05:28
Markdium-12 Recursion Interview Questions (SOLVED) Devs Have To Nail
head.next.next = head;
head.next = null;
@aershov24
aershov24 / Markdium-Python.py
Created October 13, 2020 05:28
Markdium-12 Recursion Interview Questions (SOLVED) Devs Have To Nail
def F(n):
if n == 0: return 0
elif n == 1: return 1
else: return F(n-1)+F(n-2)
@aershov24
aershov24 / Markdium-JavaScript.js
Created October 13, 2020 05:28
Markdium-12 Recursion Interview Questions (SOLVED) Devs Have To Nail
var reverseList = function(head) {
if (!head) {
return head;
}
let pre = head.next;
head.next = null;
return fun(head, pre);
function fun(cur, pre) {
if (pre == null) {
@aershov24
aershov24 / Markdium-JavaScript.js
Created October 13, 2020 05:28
Markdium-12 Recursion Interview Questions (SOLVED) Devs Have To Nail
function fib(n, a = 0, b = 1){
if (n > 0) {
return fib(n - 1, b, a + b)
}
return a
}
@aershov24
aershov24 / Markdium-JavaScript.js
Created October 13, 2020 05:28
Markdium-12 Recursion Interview Questions (SOLVED) Devs Have To Nail
φ = (1+sqrt(5))/2
@aershov24
aershov24 / Markdium-JavaScript.js
Created October 13, 2020 05:28
Markdium-12 Recursion Interview Questions (SOLVED) Devs Have To Nail
function fib(n, a = 0, b = 1){
if (n > 0) {
return fib(n - 1, b, a + b)
}
return a
}
@aershov24
aershov24 / Markdium-Python.py
Created October 13, 2020 05:28
Markdium-12 Recursion Interview Questions (SOLVED) Devs Have To Nail
def BinaryTreeToDLL(self, node):
#Checks whether node is None
if(node == None):
return;
#Convert left subtree to doubly linked list
self.BinaryTreeToDLL(node.left);
#If list is empty, add node as head of the list
if(self.head == None):
@aershov24
aershov24 / Markdium-Python.py
Created October 13, 2020 05:28
Markdium-12 Recursion Interview Questions (SOLVED) Devs Have To Nail
class Solution(object):
def reverseList(self, head): # Recursive
"""
:type head: ListNode
:rtype: ListNode
"""
if not head or not head.next:
return head
p = self.reverseList(head.next)
head.next.next = head
@aershov24
aershov24 / Markdium-C#.cs
Created October 13, 2020 05:28
Markdium-12 Recursion Interview Questions (SOLVED) Devs Have To Nail
static double inverseSqrt5 = 1 / Math.Sqrt(5);
static double phi = (1 + Math.Sqrt(5)) / 2;
/* should use
const double inverseSqrt5 = 0.44721359549995793928183473374626
const double phi = 1.6180339887498948482045868343656
*/
static int Fibonacci(int n) {
return (int)Math.Floor(Math.Pow(phi, n) * inverseSqrt5 + 0.5);
}