最大下标距离(算法)

来源:互联网 发布:python可以开发网站吗 编辑:程序博客网 时间:2024/05/22 14:22

给定一个整形数组,找出最大下标距离j - i,当且仅当 a[i] <a[j] 和 j >i


int maxIndexDistance(int a[]){if(a == null || a.length < 2) return 0;boolean inDescSeq[] = new boolean[a.length];int min = a[0],n = a.length;inDescSeq[0] = true;for(int i = 0; i < n; i++){if(a[i] < min){inDescSeq[i] = true;min = a[i];}}int maxDist = 0,i = n -1,j = n -1;while(i > = 0){if(inDescSeq[i ] == false){i--;continue;}while(a[j] < a[i] && j > i){j --;}if((j - i) > maxDist && j > i){maxDist = j - i;}i --;}return maxDist;}


0 0
原创粉丝点击