<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _overlapping_channels(self, wavelengths):
 """ Return the channels that match the given wavelength array. """


        sizes = self.meta["channel_sizes"]
        min_a, max_a = wavelengths.min(), wavelengths.max()

        matched_channel_names = []
        for i, (name, size) in enumerate(zip(self.channel_names, sizes)):
            si = sum(sizes[:i])
            min_b, max_b = self.wavelengths[[si, si + size - 1]]
            if max_a > min_b and min_a < max_b:
                matched_channel_names.append(name)

        return matched_channel_names