1. 题目

我们从一块字母板上的位置 (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 仅含有小写英文字母。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/alphabet-board-path
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

坐标不相等时,就不断的走,先让一个坐标相等,再让另一个坐标相等
注意z在角落里,别处到z:先左,再下,z到别处:先上,再右

class Solution {public:string alphabetBoardPath(string target) {string s = "abcdefghijklmnopqrstuvwxyz";map<char,pair<int,int>> m;for(int i = 0; i < 26; ++i){m[s[i]] = make_pair(i/5,i%5);//存储字符的坐标}string ans;int x = 0, y = 0;for(int i = 0; i < target.size(); ++i){while(y > m[target[i]].second){ans.push_back('L');--y;}while(x < m[target[i]].first){ans.push_back('D');++x;}while(x > m[target[i]].first){ans.push_back('U');--x;}while(y < m[target[i]].second){ans.push_back('R');++y;}ans.push_back('!');}return ans;}
};

LeetCode 1138. 字母板上的路径相关推荐

  1. LeetCode 70爬楼梯71简化路径72编辑距离(dp)

    新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注这个潇洒青年一起飞,回 ...

  2. kindeditor扩展粘贴截图功能修改图片上传路径并通过webapi上传图片到图片服务器...

    2019独角兽企业重金招聘Python工程师标准>>> kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. ...

  3. jeecg uedit 自定义图片上传路径

    jeecg uedit 图片上传配置自定义物理路径,简单描述:我们知道 jeecg 中使用的 uedit 默认图片上传路径为 "当前项目\plug-in\ueditor\jsp\upload ...

  4. PHP结合Ueditor并修改图片上传路径

    投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2016-10-16 我要评论 使用ueditor编辑器,附件默认在ueditor/php/upload/, 但是大家的附件地址的默认路 ...

  5. 求助:如何获取ueditor的上传路径

    为便于管理,我在添加文章页面加一个隐藏域imagePath,每次在后台自己生成上传路径后放置在imagePath里面.我该如何让编辑器每次都获取这个imagePath.value,而不是去修改conf ...

  6. [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor自定义上传路径配置...

    在上一篇文章中,我介绍了FCKeditor的一些相关知识以及我在使用过程中碰到的一些问题及解决方案,今天这篇则是主要记录如何通过FCKeditor来分类管理上传的文件. 以下是本文所要介绍的内容: 1 ...

  7. 触发起名字使用正则_好名字一定在字音、字形、字意上比较吉利

    专注宝宝起名20年!擅长结合生辰八字五行周易等综合起名,免费起名加专家微信     bbqm8888    (长按复制) 起名字要说简单也简单,要说难确实也很难,主要取决于想如何起名字了.如果觉得名字 ...

  8. 【LeetCode】【HOT】437. 路径总和 III(DFS)

    [LeetCode][HOT]437. 路径总和 III 文章目录 [LeetCode][HOT]437. 路径总和 III package hot;class TreeNode{int val;Tr ...

  9. 深度优先搜索之在图上寻找路径

    寻路问题 在图上如何寻找从1到8的路径 一种策略:只要能发现没走过的点,就走到它.有多个点可走就随便挑一个,如果无路可走就回退,再看看有没有走过的点可走 在图上如何寻找从1到8的路径 运气最好:1-& ...

最新文章

  1. python dict遍历_python入门
  2. centos7重新加载服务的命令_阿粉手把手教你在 CentOS7 下搭建 Jenkins
  3. SpringMVC+redis整合
  4. C# WinForm获取程序所在路径方法
  5. Database之SQLSever:SQL命令实现查询之多表查询、嵌套查询、分页复杂查询,删除表内重复记录数据、连接(join、left join和right join简介及其区别)等案例之详细攻略
  6. 【java】项目环境配置
  7. C语言中assert()断言函数的概念及用法
  8. linux cpu uuid 查看,Linux下查看UUID方法介绍
  9. 10恢复出厂设置_Mac系统如何恢复出厂设置
  10. 深入解析常量池与装拆箱机制
  11. 09月27日 pytorch与resnet(二)
  12. 详细解读Python中的__init__()方法
  13. Go :测试基本类型的Go2文本语法(附完整源码)
  14. 控制系统 丢包 matlab 程序,基于MATLAB的网络控制系统仿真.pdf
  15. acmclub 2081 班级聚会上的游戏
  16. [享学Eureka] 二十二、DiscoveryClient服务注册的小工具:InstanceInfoReplicator
  17. 拼出爱心图案的c语言,抖音爱心图片拼图9格照片怎么弄 高格调拼图已被霸屏
  18. java注解检验集合对象_Java 对list对象进行属性校验
  19. 摄像机服务器端返回消息错误,_平安城市_视频监控(本科)毕业论文设计.doc
  20. python 隐函数作图(原创简单方法)

热门文章

  1. mysql 单标递归_MySql8 WITH RECURSIVE递归查询父子集的方法
  2. Linux进程全解11——进程间通信(IPC)概述
  3. python 文件操作练习
  4. 【读书笔记】【独立思考】2018-04-03(1)
  5. console和windows子系统
  6. Win7系统中用anaconda配置tensorflow运行环境
  7. C++ const关键字总结
  8. 指向函数的指针 - C语言
  9. Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”(转)
  10. 有效创建Oracle dblink的两种方式