If a problem can be broken into subproblems which are reused several times, the problem possesses ____________ property.
(a) Overlapping subproblems
(b) Optimal substructure
(c) Memoization
(d) Greedy
I had been asked this question during a job interview.
Enquiry is from Dynamic Programming topic in division Dynamic Programming of Data Structures & Algorithms II