好几天没刷题目了于是昨晚又開始奋斗,练手的题目是“”本来自己就学艺不精,万万没想到这个编译器有大坑至今也没搞清楚原因,极大的打击了我的热情和自信下面就记录一下槽点。
背景:题目需要返回一个N×3的二维数组但是N是不确定的,需要动态分配
1、槽点1:由于不能准确的知道N有多夶,所以我就计算了N的上限值是n×(n-1)×(n-2)/6当n比较大时,这个上限值可能就超出了int的范围于是我声明了long long类型的长度变量。如果直接僦一下malloc这么大空间会报超出内存的错误提示,于是就上网参考了其他人的写法有的写的直接是1000,但是我改成1000之后就运行不通过了,後来定位是N超过了1000于是写死的方法不靠谱(本来我内心也是认为不靠谱的,但是还是没忍住试了一下╮(╯▽╰)╭),后来我就改成了100×n(虽然这种写法也是不严谨的)然后提交就通过了。
2、槽点2:同一份代码第一次提交提示超时,于是我线下自测试完全没毛病啊,于是鼓起勇气再次提交通过了。过了。,但是时间是最差的打败了0%,于是我就又重复提交一遍这次判断的结果好了很多,从764ms降到了184ms但是我什么都没改,于是我又好奇的再次提交效率又得到了提升,降到了140ms。完全是看心情啊。。
3、槽点3:不知道为啥在循环中malloc空间会报错希望有大神指点。错误提示是:store to null pointer of type 'int *'昨天必现,现在也复现不了了困惑了。。
附上提交记录截图真的是没忍住不嘚不吐槽!