Java 查找数组中的峰值和谷值 - 代码示例与解释
以下是一个 Java 代码示例,用于在一组数据中查找所有的峰波峰谷:\n\njava\nimport java.util.ArrayList;\nimport java.util.List;\n\npublic class PeakValleyFinder {\n public static List<Integer> findPeakValleys(int[] data) {\n List<Integer> peakValleys = new ArrayList<>();\n\n if (data.length < 3) {\n return peakValleys;\n }\n\n for (int i = 1; i < data.length - 1; i++) {\n if (data[i] > data[i - 1] && data[i] > data[i + 1]) {\n // Found a peak\n peakValleys.add(data[i]);\n } else if (data[i] < data[i - 1] && data[i] < data[i + 1]) {\n // Found a valley\n peakValleys.add(data[i]);\n }\n }\n\n return peakValleys;\n }\n\n public static void main(String[] args) {\n int[] data = {1, 2, 3, 2, 1, 2, 3, 4, 3, 2};\n List<Integer> peakValleys = findPeakValleys(data);\n\n System.out.println("Peak and valley values:");\n for (int value : peakValleys) {\n System.out.println(value);\n }\n }\n}\n\n\n这段代码首先定义了一个findPeakValleys方法,该方法接收一个整型数组作为输入,并返回一个包含所有峰波峰谷值的列表。然后在main方法中,我们定义了一个示例数据数组data,并调用findPeakValleys方法来查找峰波峰谷值。最后,我们将结果打印输出。\n\n在给定示例数据data中,输出的结果将会是:\n\n\nPeak and valley values:\n3\n1\n2\n4\n2\n\n\n这表明在输入数据中,存在以下峰波峰谷:3(峰),1(谷),2(峰),4(峰),2(谷)。
原文地址: https://www.cveoy.top/t/topic/p4xl 著作权归作者所有。请勿转载和采集!