有不用vector的解法吗?
时间: 2024-04-08 21:34:52 浏览: 11
是的,你可以使用一个简单的循环来解决这个问题,而不使用`vector`。下面是一个没有使用`vector`的解法示例:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int maxHours = 0;
int currentHours = 0;
for (int i = 0; i < n; i++) {
int systolic, diastolic;
cin >> systolic >> diastolic;
if (systolic >= 90 && systolic <= 140 && diastolic >= 60 && diastolic <= 90) {
currentHours++;
} else {
maxHours = max(maxHours, currentHours);
currentHours = 0;
}
}
maxHours = max(maxHours, currentHours);
cout << maxHours << endl;
return 0;
}
```
这个解法与前面的解法相似,但是不使用`vector`来存储测量数据。相反,每次读取一对收缩压和舒张压后,直接进行判断和计算。这样可以减少内存的使用,并且不需要额外的数据结构。
输入样例和输出样例与前面相同。你可以将上述代码保存为一个名为`blood_pressure.cpp`的文件,并使用C++编译器进行编译运行。