Fibonacci: three things that go wrong ===================================== 1) HashMap.computeIfAbsent as the memo, recursive mapping function, n = 10 -> java.util.ConcurrentModificationException same idea written as get / compute / put -> 55 2) The answer outgrows a long fib(92) = 7540113804746346429 fib(93) -> ArithmeticException: long overflow (Math.addExact refuses to wrap around) plain + instead of addExact would silently return -6246583658587674878 3) Recursion depth, House Robber with every house worth 1, in a thread with a 256 KB stack memo n = 500 -> 250 memo n = 50,000 -> java.lang.StackOverflowError tabulation n = 50,000 -> 25000