Fix peak find slow speed when spectrum has a large number of data points

try: `data_range.search_sorted((window_freq[0], window_freq[-1]))` instead. It would be O(log n) instead of O(n)