1、
for (int i = 0; i < g.size(); ++i) {
if(s[j] >= g[i] && j < s.size()) {
count++;
j++;
}
}
这段代码中,s[j] >= g[i]写在了 j < s.size()前面。会造成空指针异常。因为j等于s.size()了会先判断s[j] >= g[i],此刻已经越界访问了s数组。所以正确写法应该是 j < s.size() && s[j] >= g[i]
2、在引爆气球那个算法中,要先排序,自定义排序算法不加引用就显示超时,加上引用就能通过了。原因:在函数参数传递时,如果不使用引用,将会进行一次拷贝构造,也就是将实参的值复制到形参中。而拷贝构造操作对于大型的数据结构(如 vector)来说可能非常耗时,导致程序运行缓慢或超时。
3、绘制图片时,
postive = data[data.admitted.isin([1])]
negtive = data[data.admitted.isin([0])]
这两行代码中的1,和0如果是'1','0'就无法显示散点,原因是csv文件中的1和0是int型,写成字符类型就无法获取