刷题中总结的一些易错点

2018/04/02 算法

数据类型的定义

数据类型判断要定义成int还是long还是double,有些求平均值的如果定义成int会丢失精度。

变量返回值的问题

返回值不能为调用函数内定义的局部数组等一些不是值拷贝的返回值,如在函数内定义int a[10],然后return a;这样是有问题的,因为a是局部变量,这样返回之后会销毁,所以可能接下来在主函数中操作a会出现一些意想不到的错误。

如果要在函数内改变vector,list,set,map等类型的变量并且主函数要能看到这些改变,要传递引用。

逻辑错误

逻辑错误有可能是脑袋短路。这个需要脑子实际跑一遍程序才能发现。

传入空数组等

如果不判断数据是否为空就直接操作,会产生错误,提示对空数组操作。

数据定义没有初始化就操作

这样数据初始值根本不知道是什么,很可能会导致出错。

数据操作超出数组边界

对于动规划的一些题,有时候需要递推式,这样很容易出现诸如i-1,j-1的类似值,比如a[i] = a[i-1] + 1,当i或者j为0的时候,就要小心了。。。

Search

    Table of Contents