变态跳台阶(2的幂次方)(一行代码解决)

题目:一个变态一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该变态跳上一个n级的台阶总共有多少种跳法。

分析:每个台阶都有跳与不跳两种情况(除了最后一个台阶),最后一

个台阶必须跳。所以共用2^(n-1)种情况。

最快代码:

return  1<<--number;

惊恐                                   (代码出处:https://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387 HXY)

利用了移位运算符:<<(变成二进制并且向左移位,空出的填0),相当于乘以2.

同理的还有>>(向右移位,空出的填符号位,即负数填1正数填0),相当于除以2.


当然,这是先计算出结果后写的代码,若直接用代码解决可以考虑动态规划和循环(代码略)。

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭