欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)的計(jì)算最大下標(biāo)距離算法示例

 更新時(shí)間:2018年02月11日 11:52:39   作者:Yaphat  
這篇文章主要介紹了Java實(shí)現(xiàn)的計(jì)算最大下標(biāo)距離算法,涉及java針對數(shù)組的遍歷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)的計(jì)算最大下標(biāo)距離算法。分享給大家供大家參考,具體如下:

題目描述

給定一個(gè)整形數(shù)組,找出最大下標(biāo)距離j−i, 當(dāng)且A[i] < A[j]i < j

解法

復(fù)雜度:三次掃描,每次的復(fù)雜度O(N)
算法:{5,3,4,0,1,4,1}
找出從第一個(gè)元素開始的下降序列{5,3,0}
i=3,j=6, j從尾部掃描
初始化,i=3, j=6, A[i]=0

實(shí)現(xiàn)代碼

public static int maxindexdistance(int A[]) {
    boolean[] isDes = new boolean[A.length];
    int min = A[0];
    isDes[0] = true;
    for (int i = 0; i < A.length; i++) {
      if (A[i] < min) {
        isDes[i] = true;
        min = A[i];
      }
    }
    int maxdis = 0;
    int i = A.length - 1;
    int j = A.length - 1;
    System.out.println(Arrays.toString(isDes));
    while (i >= 0) {
      while (isDes[i] == false) {
        i--;
      }
      while (j > i && A[j] <= A[i]) {
        j--;
      }
      if ((j - i) > maxdis) {
        maxdis = j - i;
      }
      i--;
    }
    return maxdis;
}

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論