相关推荐

算法类型:BFS(广度优先搜索) 最短路径问题题目特征:两种操作、最少步数、状态转换难度等级:⭐⭐⭐ ✅ 这道题教会我们什么 隐式图的BFS:图不是预先画好的,边是动态生成的状态空间思维:把问题转化为"状态+操作"的模型细节决定成败:边界条件、个位判断、MAX设定都是坑模板化思考:BFS题型都有固定套路,背熟模板能解决一大类问题##题目简述:a通过 (反转) 操作或者 (+k) 操作,变成b 的最短操作数代码:import java.util.*;import java.io.*;public class Main{static final int MAX=2000000;public static void main(String[] args){Scanner sc=new Scanner(System.in);PrintWriter out=new PrintWriter(System.out);int t=sc.nextInt();while(t-->0){int a,b,k;a=sc.nextInt();b=sc.nextInt();k=sc.nextInt();out.println(bfs(a,b,k));}out.flush();}static int bfs(int a,int b,int k){if(a==b)return 0;int[] dist=new int[MAX+1];Arrays.fill(dist,-1);Queue<Integer>q=new LinkedList<>();dist[a]=0;q.offer(a);while(!q.isEmpty()){int cur=q.poll();if(cur%10!=0){int rev=reverse(cur);if(rev<MAX&&dist[rev]==-1){if(rev==b)return dist[cur]+1;dist[rev]=dist[cur]+1;q.offer(rev);}}int add=cur+k;if(add<MAX&&dist[add]==-1){if(add==b)return dist[cur]+1;dist[add]=dist[cur]+1;q.offer(add);}}return -1;}static int reverse(int x){int res=0;while(x!=0){res=x%10+res*10;x/=10;}return res;}}
点赞 评论 收藏
分享
正在热议
更多
# 一张图晒出你司的标语 #
4378次浏览 77人参与
# AI面会问哪些问题? #
28219次浏览 565人参与
# 厦门银行科技岗值不值得投 #
8098次浏览 188人参与
# 你的实习产出是真实的还是包装的? #
20378次浏览 343人参与
# 找AI工作可以去哪些公司? #
9351次浏览 247人参与
# 春招至今,你的战绩如何? #
66175次浏览 584人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
15374次浏览 223人参与
# 从事AI岗需要掌握哪些技术栈? #
9172次浏览 321人参与
# 中国电信笔试 #
32068次浏览 295人参与
# 你做过最难的笔试是哪家公司 #
34279次浏览 245人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
340947次浏览 2175人参与
# 哪些公司真双非友好? #
69694次浏览 289人参与
# 阿里笔试 #
179001次浏览 1318人参与
# 机械人避雷的岗位/公司 #
62708次浏览 393人参与
# 小马智行求职进展汇总 #
25139次浏览 80人参与
# 第一份工作一定要去大厂吗 #
14875次浏览 122人参与
# 金三银四,你的春招进行到哪个阶段了? #
22226次浏览 284人参与
# 担心入职之后被发现很菜怎么办 #
291382次浏览 1210人参与
# 为了减少AI幻觉,你注入过哪些设定? #
26274次浏览 310人参与
# 应届生第一份工资要多少合适 #
20694次浏览 86人参与
# HR最不可信的一句话是__ #
6346次浏览 114人参与
# 沪漂/北漂你觉得哪个更苦? #
10029次浏览 194人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务