java吧 关注:1,270,625贴子:12,776,565
  • 1回复贴,共1

有奖征集算法

只看楼主收藏回复

找出一个数组中,存在连续增加,并超过三次(包含三次)的元素
例:array[2,4,6,1,4,]
该结果为:[2,4,6]


IP属地:辽宁来自iPhone客户端1楼2023-12-27 09:34回复
    import java.util.ArrayList;
    import java.util.Arrays;
    public class Main {
    public static void main(String[] args) {
    int[] array = {2, 4, 6, 1, 4};
    System.out.println(findIncreasingSubarray(array));
    }
    public static ArrayList<ArrayList<Integer>> findIncreasingSubarray(int[] array) {
    ArrayList<ArrayList<Integer>> result = new ArrayList<>();
    ArrayList<Integer> temp = new ArrayList<>(Arrays.asList(array[0]));
    for (int i = 1; i < array.length; i++) {
    if (array[i] > temp.get(temp.size() - 1)) {
    temp.add(array[i]);
    if (temp.size() >= 3) {
    result.add(new ArrayList<>(temp));
    }
    } else {
    temp = new ArrayList<>(Arrays.asList(array[i]));
    }
    }
    return result;
    }
    }


    IP属地:日本2楼2023-12-27 10:12
    回复