请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

当num==0的时候就直接返回了,怎么看起来是算出来的一个就返回了,并不是算出来step最小的时候返回呢?是我漏了啥逻辑吗?

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2018-08-30 23:32:37

最开始放进队列里的pair是(n, 0),代表(num, step)第一个元素代表数字,第二个元素代表经过多少步。而退出的条件是当num == 0的时候,而不是step == 0的时候。所以除非传算法的n == 0,此时在循环中直接返回,否则是不会直接返回的:)


是用一个具体的数字,跟进算法里,调试跟踪一下试试看?:)


加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 英宁 #1
    我的意思是我没有理解这个算法里的“最小(少)”是怎么体现出来的。刚才发现把队列想成堆栈了,已解决:)
    回复 有任何疑惑可以回复我~ 2018-08-31 10:28:10
  • liuyubobobo 回复 提问者 英宁 #2
    继续加油!:)
    回复 有任何疑惑可以回复我~ 2018-08-31 10:31:06
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号