在整数方阵中,确定那些行中不包含负数的元素的乘积
int calc(const vector<vector<int>> &vec)
{
vector<int> temp;
for (int i = 0; i < vec.size(); ++i) {
const vector<int> &t = vec[i];
int sum = 1;
bool flag = false;
for (int j = 0; j < t.size(); ++j) {
if (t[j] < 0) {
flag = true;
break;
}
sum *= t[j];
}
if (!flag) {
temp.push_back(sum);
}
}
if (temp.empty()) {
return 0;
}
int num = 1;
for (int i = 0; i < temp.size(); ++i) {
num *= temp[i];
}
return num;
}
这是在考我的语文水平吗
可以采用一些比较简单的做法,用集合包含这个数组非负的元素,然后循环取值判断,最后只需要对集合中的元素做累乘即可