does using divide & conquer improve the time complexity to find max and min in an array
You are correct. Unless the array is sorted, you still have to examine every element in each half (and each quarter and each eighth as you recur).
The only way it can be O(log N) is if you can discard half the search space each recursion level (such as searching for a specific value in a sorted list) and the only way that can happen is if it's sorted.
But then, of course, the min
and max
operations become O(1) since you just grab the first and last element of the list, no need to search at all.
Now it may be that the examiner was suggesting divide-and-conquer in terms of farming off the different halves of each problem level to different execution engines so they could run in parallel. That's the only other way I could see it giving you O(log N) but I see no real evidence based on what's posted that suggests this was the case, and I think it would need quite a few engines.