java刷题--874模拟行走机器人
2021/7/4 14:24:16
本文主要是介绍java刷题--874模拟行走机器人,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
java刷题--874模拟行走机器人
- 题目
- 代码
- 结果
题目
代码
class Solution { public int robotSim(int[] commands, int[][] obstacles) { int[][] directions = new int[][]{{0,1},{1,0},{0,-1},{-1,0}};//建立方向集数组,数组下标0123对应方向北东南西 int direction = 0,x=0,y=0,aer = 0;//方向及位置、最大欧式距离平方 HashSet hashSet = new HashSet();//将阻碍点转为hashSet,方便快速查找 for(int[] obs : obstacles){//把障碍点作为字符串存入hashset hashSet.add(obs[0]+","+obs[1]); } for(int com : commands){//如果com为-1,-2则计算转向后的方向 if(com==-1) direction = (direction+1)%4;//向右转90° else if(com==-2) direction = (direction+3)%4;//向左转90°==向右转270° else if(com>0){ while (com -- >0){ int nextX = x+directions[direction][0];//计算下一节点x,y轴位置 int nextY = y+directions[direction][1]; if(!hashSet.contains(nextX+","+nextY)){//判断下一节点,是否为障碍点 x = nextX; y = nextY; aer = Math.max(aer,x*x+y*y); }else break; } } }return aer; } }
结果
这篇关于java刷题--874模拟行走机器人的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)