c++ - 我试图在二维向量中获得最大输出
问题描述
我正在尝试在二维数组中获得最大输出,例如 输入:accounts = [[1,2,3],[3,2,1]] 输出:6 解释:第一个客户拥有财富 = 1 + 2 + 3 = 6第二个客户的财富 = 3 + 2 + 1 = 6 两个客户都被认为是最富有的,每个客户的财富为 6,因此返回 6。
当前输入 = [[1,2,3],[3,2,1]];
当前输出 = 12;
预期输出 = 6;
我不明白为什么它给了12。
class Solution {
public:
int maximumWealth(vector<vector<int>>& accounts)
{
int max , temp = 0;
for(int i=0;i<accounts.size();i++)
{
for(int j=0;j<accounts[i].size();j++)
{
temp = temp + accounts[i][j];
}
if(temp > max)
{
max = temp;
}
}
return max;
}
};
更新:
现在输入:[[1,2,3],[3,2,1]]
当前输出:1849672928
预期输出:6
解决方案
您需要在内部循环之前重新初始化数组的总和计数器:
for(int i=0;i<accounts.size();i++)
{
temp = 0; // re-initialise before taking every array/account's sum here
for(int j=0;j<accounts[i].size();j++)
{
temp = temp + accounts[i][j];
}
if(temp > max)
{
max = temp;
}
}
此外,您应该将max
变量初始化为一个非常小的值,例如,INT_MIN
或者只是 0(如果您没有负元素)。
#include <climits>
int max = INT_MIN, temp = 0;
我们将其设置为最小值,以便在第一次比较时,保证max
将设置为矩阵内的元素之一。稍后,它只是与其他矩阵元素的比较。
推荐阅读
- llvm - 如何使用 llvm::cl::ParseCommandLineOptions> - 链接错误
- python - 如何在 SqlAlchemy 上订购嵌套的 SQL SELECT
- python - csv表堆栈到一列
- javafx - 如何在 FXML (JavaFX) 中制作响应式 ImageView
- json - 来自 GraphQL api 调用的未定义对象结果 - Web 控制台显示收到的 JSON 响应
- javascript - 尝试多次附加一个 html 表,但是当我重新单击它时,我的 'th' 总是出现在顶部而不是在 'tr' 之后
- python - 我无法使用 kivy 显示数据库
- c - STM32F103RB - 如何知道使用哪个引脚发送触发信号
- java - 如何计算结果 % 第 10,000,001 个素数的阶乘答案
- javascript - 从我的项目中删除所有 componentWillMount,如果我的子组件依赖于 api 响应,那么替换是什么