Hi, here's your problem today. This problem was recently asked by Microsoft: You are given an array of integers. Return the length of the longest increasing subsequence (not necessarily contiguous) in the array. Example: [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15] The following input should return 6 since the longest increasing subsequence is 0, 2, 6, 9 , 11, 15.