zoukankan      html  css  js  c++  java
  • java list算法问题(给定一 int 数组返回倒序的最大连续递增的区间(至少大于等于2)数组倒序)

    java list算法问题(给定一 int 数组返回倒序的最大连续递增的区间(至少大于等于2)数组倒序)

    输入:1,3,4,9,6,7 则返回:6,7
    输入:1,3,4,1,2,3 则返回:1,2,3
    输入:1,3,4,2,4,7 则返回:2,4,7
    输入:1,8,4,5,6,7 则返回:4,5,6,7
    输入:1,3,4,5,6,7 则返回:1,3,4,5,6,7

    输入:2,3,4,5,2,3,1 则返回:null
    输入:2,3,4,5,1,2,3,1 则返回:null
    输入:1,3,4,5,6,7,1 则返回:null

    public static int[] result(int[] ints) {
            int len = ints.length;
            if (len < 2 || ints[len - 1] <= ints[len - 2]) {
                return null;
            }
            List<Integer> res = new ArrayList<Integer>();
            List<Integer> list = new ArrayList<Integer>();
            for (int i = len - 1; i > 0; i--) {
                int before = ints[i - 1];
                int after = ints[i];
                list.add(after);
                if (after <= before && res.size() == 0) {
                    res.addAll(list);
                    list.clear();
                } else if (after <= before) {
                    break;
                }
                if (i == 1 && res.size() == 0) {
                    list.add(before);
                    res.addAll(list);
                }
            }
            Collections.reverse(res);
            Integer[] integers = res.toArray(new Integer[res.size()]);
            return Arrays.stream(integers).mapToInt(Integer::valueOf).toArray();
        }
    
  • 相关阅读:
    装箱与拆箱,数组 糖不苦
    产生乱码的原因 糖不苦
    jQuery 库中的 $() 是什么? 糖不苦
    什么是jQuery 糖不苦
    ATM管理系统 糖不苦
    JS事件委托中同一个标签执行不同操作
    js实现36进制
    js+php+mysql实现的学生成绩管理系统
    两数之和
    函数防抖
  • 原文地址:https://www.cnblogs.com/interdrp/p/14260671.html
Copyright © 2011-2022 走看看