我对 C++ 仍然很生疏,所以想知道是否有更简洁的方法来查找向量向量中的最大值。这是我想出的:
std::vector<std::vector<int>> score;
Run Code Online (Sandbox Code Playgroud)
该score变量由其他一些代码填充。我想要存储最大值:
int max_value()
{
std::vector<int> row_maximums;
for (auto row = score.begin(); row != score.end(); ++row)
{
row_maximums.push_back(*std::max_element(row->begin(), row->end()));
}
return *std::max_element(row_maximums.begin(), row_maximums.end());
}
Run Code Online (Sandbox Code Playgroud)
我主要是一名 C# 开发人员,因此通常习惯使用 LINQ 在一行上完成此操作:
List<List<int>> score;
public int max_value => score.Aggregate(0, (current, row) => row.Prepend(current).Max());
Run Code Online (Sandbox Code Playgroud)
感谢您的任何提示!
c++ ×1