我认为参数类型是错误的。你也可以检查排序功能是否正常工作?我已经编写了这段代码,通过组合向量A中的整数来实现最大的代码。
string Solution::largestNumber(const vector<int> &A) {
int i,n;
vector<string> B;
string str;
for(i=0; i<A.size(); i++)
{
n=sprintf(B[i],"%d",A[i]);
}
sort(A.begin(), A.end(),[](string lhs, string rhs){
//[](const string &lhs, const string &rhs) {
// reverse the order of comparison to sort in descending order,
// otherwise we'll get the "big" numbers at the end of the vector
return rhs+lhs < lhs+rhs;
});
for(i=0; i<A.size(); i++)
{
str+= to_string(A[i]);
}
return str;
}
答案 0 :(得分:2)
B是std :: string的向量。
B [I]则是std :: string
sprintf需要一个char数组,而不是std :: string。