标签: c++
browser
我想删除连续数字的所有重复。 该程序抛出“越界”错误。 有没有任何逻辑错误,或者你能建议一些更好的算法吗?
答案 0 :(得分:2)
您正在访问越界,因为在删除元素后,您的容器现在比您迭代的次数短一个元素。
无论如何;如果你只使用标准库中已有的东西,你可以用两行解决你的问题:
auto last = std::unique(a.begin(), a.end()); a.erase(last, a.end());
另请参阅:http://en.cppreference.com/w/cpp/algorithm/unique