主题 3:寻友之旅
小青要找小码去玩,他们的家在一条直线上,当前小青在地点 N ,小码在地点 K (0≤N , K≤100 000),并且小码在自己家原地不动等待小青。小青有两种交通方式可选:步行和公交。
步行:小青可以在一分钟内从任意节点 X 移动到节点 X-1 或 X+1 公交:小青可以在一分钟内从任意节点 X 移动到节点 2×X (公交不可以向后走)
请帮助小青通知小码,小青最快到达时间是多久? 输入: 两个整数 N 和 K 输出: 小青到小码家所需的最短时间(以分钟为单位)
使用广搜算法来解决这个问题。在广搜中,每次可以选择步行或公交来移动,并维护一个队列来存储已经经过的节点。每次从队列中取出一个节点,如果该节点为 K,则说明已经到达目的地,返回步数。如果该节点不是 K,则从该节点继续步行或公交搜索,并将新节点加入队列。最终所有节点都会被遍历完,并返回最短时间。