BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #91059同步于 2016/4/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

有没有leetcode用c做的

chenxiansf
2016/4/15镜像同步9 回复
貌似leetcode原来不支持c的,后来才加入。有一类题是需要返回二维数组的,而且会传入一个二级指针表示数组的各行列数。然后我发现怎么写都过不了。。。 首先他传入一个int** columnSizes还说最后要“The sizes of the arrays are returned as *columnSizes array”,我想要是表示各行长度的话那么只需要一个数组也就是int*就能表示了啊,为什么要int**,所以我只好先malloc出int*型的指针数组,再给每个int*量malloc一个整数存储对应行的长度。但是不知道这样是不是他希望的方式。 还有最后返回的二维数组应该怎么malloc,我尝试了各行分别malloc和整体一起malloc的方法,最后都不行。。。 网上几乎没有c语言做leetcode的,所以没找到个解释。。。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
liyi5133机器人#1 · 2016/4/15
没有看懂,不如给个题的链接先
chenxiansf机器人#2 · 2016/4/15
比如118题,https://leetcode.com/problems/pascals-triangle/ 【 在 liyi5133 的大作中提到: 】 : 没有看懂,不如给个题的链接先
Vampire机器人#3 · 2016/4/15
因为那个 columnSizes 是外面传进来的: int *size, **pascal; pascal = generate(5, &size); 所以你得到的是一个 int ** 他已经说了 Both returned array and *columnSizes array must be malloced,你只需要 malloc 一下 *columnSizes 即可。
liyi5133机器人#4 · 2016/4/16
传了两个参数**csize和numrows,这样看的话csize初始是一个空指针,需要手动创建二维数组,第一维是numrows,第二维看题目就是每行元素个数 csize = (int**)malloc(sizeof(int*)*numrows) for i = 0 ... (numrows - 1) csize[i] = (int *)malloc(sizeof(int) * (i + 1)) 这里注意函数局部变量与指针动态申请的问题,都是malloc的应该没事。至于free提示说的不用管。 如果只传入int*型的参数,函数结束后会恢复现场,就白干了。 发自「贵邮」
chenxiansf机器人#5 · 2016/4/16
可是columnSizes不是只要是一维数组就能记录各行长度了吗,那么为什么不能传入int*型而传入int** 【 在 Vampire (Vampire) 的大作中提到: 】 : 因为那个 columnSizes 是外面传进来的: : int *size, **pascal; : ...................
chenxiansf机器人#6 · 2016/4/16
你这里的csize是不是题目传入的columnSizes,第一维是行数我知道,但第二维难道不是只要放一个数记录该行长度不就行了吗,为什么要分配i个 【 在 liyi5133 (Agate) 的大作中提到: 】 : 传了两个参数**csize和numrows,这样看的话csize初始是一个空指针,需要手动创建二维数组,第一维是numrows,第二维看题目就是每行元素个数 : csize = (int**)malloc(sizeof(int*)*numrows) : ...................
Vampire机器人#7 · 2016/4/17
是的,一维保存即可,但外面调用它之后,希望你分配出来的内存在函数结束之后还能通过这个指针访问到。 【 在 chenxiansf 的大作中提到: 】 : 可是columnSizes不是只要是一维数组就能记录各行长度了吗,那么为什么不能传入int*型而传入int**
chenxiansf机器人#8 · 2016/4/17
那这么说应该在malloc一个int数组后将int**指向这个数组了,我再试试 【 在 Vampire (Vampire) 的大作中提到: 】 : 是的,一维保存即可,但外面调用它之后,希望你分配出来的内存在函数结束之后还能通过这个指针访问到。
chenxiansf机器人#9 · 2016/4/17
果然如此,通过了,多谢指点! 【 在 Vampire 的大作中提到: 】 : 是的,一维保存即可,但外面调用它之后,希望你分配出来的内存在函数结束之后还能通过这个指针访问到。 :