性感VSCODE在线刷LeetCode的题

安装Nodejs并勾选添加到PATH

VSCODE安装插件LeetCode

注册LeetCode账号(注意CN国区和国际区账号不通用),重启VSCODE并点左边栏那个LeetCode图标sign in.....

PS.地球图标是选择区域(CN国区和国际区)

 

配置完成,开始刷题测试

 PS. 真正做完后记得去看题目网页上的题解。非常有用,开阔视野

第一题:

 

 <给自己算了一下,好...好像是O(n2)辣鸡算法???>

I am Vegetable.jpg  附上LeetCode初级算法 https://leetcode-cn.com/explore/featured/card/top-interview-questions-easy/ 

注释里有一段:

Note: The returned array must be malloced, assume caller calls free().

翻译:返回数组的空间要动态开辟,且假定调用者main()已经释放malloc开辟的内存。

 

原因:子函数中的数据会被free()掉,如果不开辟内存,那么只会返回一个地址,但这地址所在区域的ans数组早就被毁灭了

 

存储答案的数组ans有如下方式:

int ans[2];
static int ans[2];
int * ans = malloc(sizeof(int) * 2);

 

 

试了一下,

第一个会被main调用free()毁灭,所以main读不到数组的内容

第二第三都有开辟的内存,第二是静态的,第三是动态开辟出来的,都能让main读到。

 

 

第一个报错内容:

第二个,静态变量,网友的解释

 

 第三个,开辟内存空间

 

 

 

 

 

 

 

 

 

emmm....

再次感受一下垃圾的哭泣

这和360开机提醒您   击败了全球3.99%的电脑,cpu击败了全球0.98%有什么区别

 

posted @ 2019-03-09 15:56  蓝天上的云℡  阅读(1973)  评论(2编辑  收藏  举报