LeetCodeProgramsInCPP Design Questions design-hashmap Design HashSet Two Pointer Problem container-with-most-water DynamicProgramming longest-increasing-subsequence