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

【Java|golang】1138. 字母板上的路径

我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。

在本题里,字母板为board = [“abcde”, “fghij”, “klmno”, “pqrst”, “uvwxy”, “z”],如下所示。
在这里插入图片描述

我们可以按下面的指令规则行动:

如果方格存在,‘U’ 意味着将我们的位置上移一行;
如果方格存在,‘D’ 意味着将我们的位置下移一行;
如果方格存在,‘L’ 意味着将我们的位置左移一列;
如果方格存在,‘R’ 意味着将我们的位置右移一列;
‘!’ 会把在我们当前位置 (r, c) 的字符 board[r][c] 添加到答案中。
(注意,字母板上只存在有字母的位置。)

返回指令序列,用最小的行动次数让答案和目标 target 相同。你可以返回任何达成目标的路径。

示例 1:

输入:target = “leet”
输出:“DDR!UURRR!!DDD!”
示例 2:

输入:target = “code”
输出:“RR!DDRR!UUL!R!”

提示:

1 <= target.length <= 100
target 仅含有小写英文字母。

    public String alphabetBoardPath(String target) {StringBuilder sb = new StringBuilder();int i=0,j=0;for (char c : target.toCharArray()) {int row=(c-'a')/5;int col=(c-'a')%5;while (i>row){i--;sb.append('U');}while (j<col){j++;sb.append('R');}while (j>col){j--;sb.append('L');}while (i<row){i++;sb.append('D');}sb.append('!');}return sb.toString();}

在这里插入图片描述

func alphabetBoardPath(target string) string {res:=""var i,j int32=0,0for _, c := range target {row:=(c-'a')/5col:=(c-'a')%5for i>row{i--res+="U"}for j<col{j++res+="R"}for j>col{j--res+="L"}for i<row{i++res+="D"}res+="!"}return res
}

在这里插入图片描述

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

相关文章:

  • Flink 1.14从简单到源码第三讲
  • 淘宝API接口系列,获取购买到的商品订单列表,卖出的商品订单列表,订单详情,订单物流,买家信息,收货地址列表,买家token
  • ucos-ii 的任务调度原理和实现
  • Solon2 开发之容器,七、切面与函数环绕拦截
  • 代码随想录第十天(28)
  • 循环队列来了解一下!!
  • Idea打包springboot项目war包,测试通过
  • python+django高校师生健康信息管理系统pycharm
  • CUDA中的流序内存分配
  • 开源、低成本的 Xilinx FPGA 下载器(高速30MHz)
  • Maven专题总结
  • 谷粒商城--SPU和SKU
  • 二叉树OJ题(上)
  • 第一章 PDF语法
  • IntelliJ IDEA 创建JavaFX项目运行
  • IC封装常见形式
  • Linux通配符、转义符讲解
  • [OpenMMLab]提交pr时所需的git操作
  • pandas——groupby操作
  • webpack.config.js哪里找?react项目关闭eslint监测
  • OpenCV 图像梯度算子
  • Linux c编程之Wireshark
  • 极客时间_FlinkSQL 实战
  • Pytorch 混合精度训练 (Automatically Mixed Precision, AMP)
  • 使用太极taichi写一个只有一个三角形的有限元
  • 进程,线程
  • 第03章_基本的SELECT语句
  • 干货 | 简单了解运算放大器...
  • C++定位new用法及注意事项
  • 【Android笔记75】Android之翻页标签栏PagerTabStrip组件介绍及其使用