您当前的位置: 首页 >  Java

Kevin-Dev

暂无认证

  • 0浏览

    0关注

    544博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Java -- 算法】数组算法(四)

Kevin-Dev 发布时间:2020-07-03 20:19:46 ,浏览量:0

一、前言

本文介绍了有关数组的算法第四部分的 Java 代码实现,算法实例:

  • 求数组当中的最长递增子序列(求数组当中的最长递减子序列)
  • 区间重合判断
  • 一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值
二、代码 1. 求数组当中的最长递增子序列

实现代码

class Untitled {
    
    //查找最长递增子序列。
    static void searchMaxIncSubArray(int p[], int length) {
        //maxValue[i]表示长度为i的递增子序列的最大元素的最小值。
        int[] maxValue = new int[length+1];
        maxValue[1] = p[0];
        int k=1;
        for (int i=1; i maxValue[k]) {
                k++;
                maxValue[k] = p[i];
            } else if (p[i] == maxValue[k]) { //如果p[i]和maxValue[k],那么越过。
                continue;
            } else { //如果p[i]小于maxValue[k]。
                if (p[i]  1;
                    if (maxValue[first+mid]  p[i]) {
                        last=first+mid;
                    } else {
                        first=first+mid+1;
                    }
                }
                //进行替换。
                if (p[i]             
关注
打赏
1658837700
查看更多评论
0.0382s