欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Java LeetCode 刷机

最编程 2024-10-07 06:58:07
...
package JavaExercise20241006; import java.util.ArrayList; import java.util.Collections; public class JavaExercise { public static void main(String[] args) { int[] nums = {1,2,3,4,3,2,5}; Solution solution = new Solution(); int[] array = solution.resultsArray(nums, 3); for (int i : array) { System.out.println(i); } } } class Solution { public int[] resultsArray(int[] nums, int k) { // 找子数组 ArrayList<Integer> returnList = new ArrayList<>(); int start = 0; while (start + k <= nums.length) { ArrayList<Integer> son = new ArrayList<>(); for(int i = start; i < k + start; i++) { son.add(nums[i]); } if (isTrue(son)) { returnList.add(Collections.max(son)); } else { returnList.add(-1); } start++; } int[] returnArray = new int[returnList.size()]; for (int i = 0; i < returnList.size(); i++) { returnArray[i] = returnList.get(i); } return returnArray; } public boolean isTrue(ArrayList<Integer> son) { if (son.size() <= 1) { return true; } for (int i = 0; i < son.size(); i++) { if (i == son.size() - 1) { break; } if ((son.get(i) > son.get(i + 1)) || ((son.get(i + 1) - son.get(i)) != 1)) { return false; } } return true; } }