Find minimum peak elements in an array
Thou shalt not bruteforce.
Your algorithm exhibits a quadratic time complexity, and cannot be salvaged. You need a better one.
First observation you should make is that when you remove the peak, other peaks stay put. That alone is enough to see that rescanning the entire array is a waste of time.
More important observation is that once you remove the peak, the new peak may appear only in the position immediately adjacent to the peak being removed. Please prove this fact (or at least convince yourself that it is so). Also notice that the newborn peak would in general be smaller than the existing peaks, if any.
I hope it is enough to get you going.

As for the proper review:

Flat is better than nested. The condition list1.size() &gt;= 2 better be reversed:
  if (list1.size() &lt; 2) {
      // The list consists of a single element, which is a peak,
      // and it resides at index 0
      return 0;
  }
  // Proceed with a general case here
  ....


list1 looks like a strange name. There are no other lists, are there?