|
@@ -0,0 +1,33 @@
|
|
|
|
|
+package leetcode.p162;
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * @ProjectName: LeetCode
|
|
|
|
|
+ * @FileName: Solutio
|
|
|
|
|
+ * @Author: 杨逸
|
|
|
|
|
+ * @Data:2026/3/9 18:06
|
|
|
|
|
+ * @Description: https://leetcode.cn/problems/find-peak-element/description/
|
|
|
|
|
+ * 162. 寻找峰值
|
|
|
|
|
+ */
|
|
|
|
|
+public class Solution {
|
|
|
|
|
+ public int findPeakElement(int[] nums) {
|
|
|
|
|
+ return throughSolution(nums);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 遍历枚举法
|
|
|
|
|
+ * @param nums
|
|
|
|
|
+ * @return int
|
|
|
|
|
+ * @description:
|
|
|
|
|
+ * @author: 杨逸
|
|
|
|
|
+ * @data:2026/03/09 18:23:45
|
|
|
|
|
+ * @since 1.0.0
|
|
|
|
|
+ */
|
|
|
|
|
+ private int throughSolution(int[] nums){
|
|
|
|
|
+ if (nums.length == 1 || nums[0] > nums[1]) return 0;
|
|
|
|
|
+ if (nums[nums.length-1] > nums[nums.length-2]) return nums.length-1;
|
|
|
|
|
+ for (int i = 1; i < nums.length-1; i++) {
|
|
|
|
|
+ if (nums[i] > nums[i-1] && nums[i] > nums[i+1]) return i;
|
|
|
|
|
+ }
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|