先上代码
for(int i=ans.size()-8;i<ans.size();++i){
if(i>=0){
cout<<ans[i]<<" "<<mp[ans[i]]<<endl;
}
}
在以上遍历ans数组的过程中,要求只能输出最后8个元素,且ans数组长度可能小于8,于是我采取以上遍历方式。按照正常逻辑应该是没有问题的,但是这里的比较i<ans.size()中由于左边i可能是一个负数,而右边size()函数返回值是无符号整型,因此会将i转换位无符号整型导致遍历出错。