如何解决为什么备忘录不需要指针?
例如,在此代码中,工作正常,使用数组而不是指向数组的指针进行存储。 (int mem []代替int * mem)
int fibonacci(int n,int mem[]){
if(n < 3)
return 1;
if(mem[n])
return mem[n];
mem[n] = fibonacci(n - 1,mem) + fibonacci(n - 2,mem);
return mem[n];
}
int climbStairs(int n){
int mem[50] = {0};
return fibonacci(n + 1,mem);
}
我不知道当其中一个函数返回时,返回的函数的调用方函数如何返回 将数据保存到先前的mem [n]。函数返回时是否应该删除函数数组?在该函数返回后,调用者函数调用的另一个函数如何具有该值?
注意:这是在leetcode中解决爬楼梯的解决方案。由我写。
解决方法
在函数参数中使用[]
时,它是一个指针。
int foo(int x[])
和
int foo(int *x)
等于100%。
但是,这将是另外一回事:
int foo(int x[10])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。