为啥这个current_max=(current_max+nums[i],current_max)能执行?我在写的时候忘记在前面写max了,但是发现可以执行
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int final_max=nums[0];
int current_max=nums[0];
for(int i=1;i<nums.size();i++)
{
current_max=(current_max+nums[i],current_max);
cout<<current_max;
final_max=max(current_max,final_max);
}
return final_max;
}
};
current_max=(current_max+nums[i],current_max);
中右边是逗号表达式,其值是最后一项的值,即current_max
的值