/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 给定数组的最长严格上升子序列的长度。 * @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; }