代码清单2-31(C#代码) int LIS(int[] array) { int[] LIS = new int[array.Length]; for(int i = 0; i < array.Length; i++) { LIS[i] = 1; // 初始化默认的长度 for(int j = 0; j < i; j++) // 找出前面最长的序列 { if(array[i] > array[j] && LIS[j] + 1 > LIS[i]) { LIS[i] = LIS[j] + 1; } } } return Max(LIS); // 取LIS的最大值 }