青蛙跳台阶问题
int climbStairs(int n) {
if(1==n)
return 1;
if(2 ==n)
return 2;
return climbStairs(n) = climbStairs(n-1) + climbStairs(n-2);
}
青蛙跳台阶问题,这种求法怎么老报:Line 7: lvalue required as left operand of assignment
不是有左操作数吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
左操作数必须是variable,而不能是value。
比如
方法的返回值是value,所以你的写法会报错。
你的代码应该这么改。
顺便说一句,用迭代比用递归有效率得多。这类似斐波那契数。
是有左操作数,但在这里左操作数要是一个左值啊!
左操作数是一个函数调用,当然不行。
这里的赋值并没有必要,改成:
同意用迭代。。。时间复杂度和空间复杂度都降到了最低
复杂度太高了,楼主
fib数列必须是迭代解决
可以优化一下吗