当前位置: 首页 > news >正文

华为OD机考题HJ17 坐标移动

前言

应广大同学要求,开始以OD机考题作为练习题,看看算法和数据结构掌握情况。有需要练习的可以关注下。

描述

开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。

数据范围:每组输入的字符串长度满足 1≤𝑛≤10000 1≤n≤10000  ,坐标保证满足 −231≤𝑥,𝑦≤231−1 −231≤x,y≤231−1  ,且数字部分仅含正数

输入描述:

一行字符串

输出描述:

最终坐标,以逗号分隔

输入:

A10;S20;W10;D30;X;A1A;B10A11;;A10;

输出:

10,-10

坐标移动_牛客题霸_牛客网

实现原理

1.设置一个数组长度为2的一元数组,粗放对应的坐标移动的位置。

2.校验数据是否符合规范

3.按移动规则进行坐标计算。

实现代码

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别String input=scanner.nextLine();int[] res=new int[2];String[] inputs=input.split(";");for(int i=0;i<inputs.length;i++){if(inputs[i].length()<2){continue;}String preFix=inputs[i].substring(0,1);String content=inputs[i].substring(1,inputs[i].length());boolean isNumeric = content.matches("\\d+");if(!isNumeric){continue;}if(preFix.equals("A")){res[0]-=Integer.valueOf(content);}else if(preFix.equals("S")){res[1]-=Integer.valueOf(content);}else if(preFix.equals("D")){res[0]+=Integer.valueOf(content);}else if(preFix.equals("W")){res[1]+=Integer.valueOf(content);}}System.out.println(res[0]+","+res[1]);}
}

QA1:

http://www.lryc.cn/news/383423.html

相关文章:

  • redis修改密码
  • 《昇思 25 天学习打卡营第 7 天 | 模型训练 》
  • HTML/CSS 基础
  • Linux系统安装Lua语言及Lua外部库
  • 前端技术栈学习:Vue2、Vue cli脚手架、ElementUI组件库、Axios
  • pycharm中取消Typo:In word ‘xxx‘提示(绿色波浪线提示)的方法
  • js中的浅拷贝和深拷贝
  • 【Linux】常用基本命令
  • uniapp——上传图片获取到file对象而非临时地址——基础积累
  • vue3 antdv RadioButton默认值选择问题处理
  • 最佳实践,一款基于 Flutter 的桌面应用
  • python第一个多进程爬虫
  • 在Ubuntu 18.04上安装和配置Ansible的方法
  • 【详细教程】如何使用YOLOv10进行图片与视频的目标检测
  • LLM大语言模型-AI大模型全面介绍
  • 瑜伽馆管理系统的设计
  • JAVA【案例5-2】模拟默认密码自动生成
  • 小区业主管理系统
  • vncsever ,window 远程ubuntu远程界面安装方式,VNC Viewer安装教程+ linux配置server 操作
  • java spring boot 单/多文件上传/下载
  • C语言的内存函数
  • 【网络通信】计算机网络安全技术总结
  • Redis-实战篇-什么是缓存-添加redis缓存
  • 《妃梦千年》第十一章:再遇故人
  • 反序列化底层学习
  • 项目训练营第五天
  • 数据收集和数据分析
  • Kubernetes(K8s)从入门到精通系列之十九:Operator模式
  • vuex的actions返回结果类型是promise及actions方法互相调用
  • 【干货】Jupyter Lab操作文档