一、前言
本文介绍了有关数组的算法第四部分的 Java 代码实现,算法实例:
- 求数组当中的最长递增子序列(求数组当中的最长递减子序列)
- 区间重合判断
- 一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值
实现代码
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]
关注
打赏