I'm auditing this algorithms class for work and I'm trying to do some practice problems given in class. This problem has me stumped and I just can't wrap my head around it. None of my solutions come out in O(logn) time. Can anyone help me with this problem??
Question: Suppose that we are given a sequence of n values x1, x2, ... , xn in an arbitrary order and seek to quickly answer repeated queries of the form: given an arbitrary pair i and j with 1 ≤ i < j ≤ n, find the smallest value in x1, ... , xj . Design a data structure that uses O(n) space and answers each query in O(log n) time.