美文网首页
最大有序数组长度

最大有序数组长度

作者: 全都是泡沫啦 | 来源:发表于2020-03-21 14:35 被阅读0次
import java.util.Arrays;

/**
 * 输入一个数组,1, 5, 6, 2, 3, 4, 5, 6, 1, 2
 * 1,5,6有序长度为3,  2,3,4,5,6有序长度为5, 1,2有序长度为2
 * 输出他们最常的有序长度为5
 * Created by hjt on 2020/3/14.
 */
public class LongestSortedLengthDemo {
    public static void main(String[] args) {
 //       int[] b = {};
//        int[] b = {1};
//        int[] b = {1, 2};
//        int[] b = {2,1};
//        int[] b = {2,1,2,3,123,1,2};
        int[] b = {1, 5, 6, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 7, 8};
        //int[] b = {1, 5, 6, 2, 3, 4, 5, 6, 1, 2};
        int longestOrderedStringLength = longestOrderedStringLength(b);
        System.out.println("数组" + Arrays.toString(b) + "最长有序长度:" + longestOrderedStringLength);
    }

    public static int longestOrderedStringLength(int[] data) {
        if (data == null || data.length == 0) {
            return 0;
        }
        if (data.length == 1) {
            return 1;
        }
        int dataLen = data.length;
        int lastInt = data[0];
        int maxOrderedLength = 1;
        int lastOrderedLength = 1;
        for (int i = 1; i < dataLen; i++) {
            int nowInt = data[i];
            if (nowInt >= lastInt) {
                lastOrderedLength++;
                if (lastOrderedLength > maxOrderedLength) {
                    maxOrderedLength = lastOrderedLength;
                }
            }else {
                if (lastOrderedLength > maxOrderedLength) {
                    maxOrderedLength = lastOrderedLength;
                }
                lastOrderedLength = 1;
            }
            lastInt = nowInt;
        }
        return maxOrderedLength;
    }
}

相关文章

  • 最大有序数组长度

  • 归并排序

    思路 首先让数组中的每一个数,视为长度为1的有序区间,然后把相邻的长度为1的有序区间进行合并,得到最大长度为2的有...

  • 6_4循环有序数组最小值

    对于一个有序循环数组arr,返回arr中的最小值。有序循环数组是指,有序数组左边任意长度的部分放到右边去,右边的部...

  • 震惊,被世人遗忘的稀有物种。

    数组,其实就是一个有序的集合,并且数组的长度是可读写的。 想要修改数组的长度可以直接改变这个数组的length比如...

  • 前端数组掌握的基本知识

    数组 数组是用于储存多个相同类型数据的有序集合 数组的长度 可读可写 数组的遍历方式 fo...

  • java合并两个有序的数组

    需求:有序数组arr1和arr2,将它们合并成有序数组newArr(递增数组)。 思路:新建一个以两个集合长度之和...

  • Java 数组

    Java 数组 定义 数组是固定长度的、存储相同类型变量的有序集合 声明数组 创建数组 即指定数组的大小,为数组开...

  • Java基础之数组(八)

    一、数组定义 存储多个相同数据类型的固定长度有序集合 二、特点 1、数组是一个引用数据类型2、数组的长度一旦确定不...

  • 排序算法——归并排序

    原理 归并排序的基础是合并有序数组,运用了分治的思想,将数组对半分,递归,直到两个数组长度都为1,可以看作两个有序...

  • Javascript学习笔记——7.4 数组长度

    每个数组都有一个length属性,即数组长度.数组长度不是元素的个数 非稀疏数组的length是元素的个数,比最大...

网友评论

      本文标题:最大有序数组长度

      本文链接:https://www.haomeiwen.com/subject/wsbyyhtx.html