单选题

下面 LIS 函数试图求出最长上升子序列的长度,横线处应该填入的是(    )。

int max(int a,int b){
	return(a>b)?a:b;
}
int LIS(vector<int>& nums){
	int n= nums.size();
	if(n == 0)
		return 0;
	vector<int>dp(n,1);
	int maxLen = 1;
	for(inti=1; i<n; i++){
		for(int j=0;j< i; j++)
			if(nums[j]< nums[i]);
			   ________;// 在此处填入选项
		maxLen = max(maxLen,dp[i]);
	}
return maxLen;
}
A

dp[j]=max(dp[j]+1,dp[i])

B

dp[j]=max(dp[j],dp[i]+1)

C

dp[i]=max(dp[i]+1,dp[j])

D

dp[i]=max(dp[i],dp[j]+1)

赣ICP备20007335号-2