如何改进C++数组迭代查找方案以满足编程题评分要求
代码调整方案
原代码扣分项
- 查找到目标值后未提前终止循环,即使已经匹配到指定值,仍会遍历完整个数组,存在不必要的性能开销
- 引入了大量与当前功能无关的冗余头文件,代码冗余度高,不符合编码规范
- 额外定义了无意义的
result中间变量,增加了不必要的内存开销
修正后符合要求的代码
class Answer { public: static bool exists(int ints[], int size, int k) { for (int i = 0; i < size; i++) { if (ints[i] == k) { // 匹配到目标值直接返回结果,终止后续无意义遍历 return true; } } return false; } };
可选的标准库实现(若题目允许调用标准库接口)
如果题目没有强制要求手动实现遍历逻辑,可以直接使用C++标准库提供的查找接口,代码更简洁,且经过标准库优化性能更稳定:
#include <algorithm> class Answer { public: static bool exists(int ints[], int size, int k) { return std::find(ints, ints + size, k) != ints + size; } };
内容的提问来源于stack exchange,提问作者CaTx
相关产品推荐
相关产品推荐

