/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 给定数组的最长严格上升子序列的长度。
* @param arr int整型一维数组 给定的数组
* @param arrLen int arr数组长度
* @return int整型
*/
int LIS(int* arr, int arrLen ) {
// write code here
if(arrLen == 0) return 0;
int* dp = (int*)malloc(sizeof(int) * arrLen);
for(int i = 0; i < arrLen; i++) {
dp[i] = 1;
}
int max = 1;
for(int i = 1; i < arrLen; i++) {
for(int j = 0; j < i; j++) {
if(arr[j] < arr[i] && dp[j] + 1 > dp[i]) {
dp[i] = dp[j] + 1;
}
}
if(dp[i] > max) {
max = dp[i];
}
}
return max;
}