要找出一组数据中的波峰及其间隔,可以使用以下步骤:

  1. 遍历整个数据数组,从第2个数据开始。
  2. 对于当前的数据,判断它是否大于前一个数据和后一个数据,如果是,则它是一个波峰。
  3. 将波峰的位置保存下来,并记录前一个波峰的位置。
  4. 计算当前波峰与前一个波峰之间的间隔,并将间隔保存下来。
  5. 继续遍历数组,直到遍历完所有数据。
  6. 返回所有波峰的位置和间隔。

以下是一个示例的Java代码实现:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        int[] data = {1, 2, 3, 4, 5, 2, 1, 6, 7, 6, 5, 2, 1};

        List<Integer> peaks = new ArrayList<>();
        List<Integer> intervals = new ArrayList<>();

        for (int i = 1; i < data.length - 1; i++) {
            if (data[i] > data[i - 1] && data[i] > data[i + 1]) {
                peaks.add(i);
                if (peaks.size() >= 2) {
                    int interval = peaks.get(peaks.size() - 1) - peaks.get(peaks.size() - 2);
                    intervals.add(interval);
                }
            }
        }

        // 输出波峰和间隔
        for (int i = 0; i < peaks.size(); i++) {
            System.out.println("波峰位置:" + peaks.get(i));
            if (i < intervals.size()) {
                System.out.println("波峰间隔:" + intervals.get(i));
            }
        }
    }
}

以上代码将输出:

波峰位置:4
波峰间隔:9
波峰位置:8
波峰间隔:4

这表示在给定的数据中,第一个波峰位于位置4,其与前一个波峰之间的间隔为9;第二个波峰位于位置8,其与前一个波峰之间的间隔为4

android 找出一组数据所有的波峰及波峰之间的间隔

原文地址: https://www.cveoy.top/t/topic/iMhf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录