首页 > 其他分享 >1138.alphabet-board-path 字母板上的路径

1138.alphabet-board-path 字母板上的路径

时间:2023-02-13 16:44:20浏览次数:58  
标签:loc 1138 end target alphabet move 板上 res row

问题描述

1138.字母板上的路径

解题思路

考虑到'z'单独在一个地方,因此移动顺序中,左下、右上不能反过来,即不能先往下再往左或者先往右再往上。

代码

class Solution {
public:
    string alphabetBoardPath(string target) {
        string res;
        vector<int> cur_loc{0, 0};
        vector<int> target_loc{0, 0};
        // 要注意边缘的存在
        for (auto &c : target) {
            target_loc[0] = (c - 'a') / 5;
            target_loc[1] = (c - 'a') % 5;
            int move_row = target_loc[0] - cur_loc[0];
            int move_col = target_loc[1] - cur_loc[1];
            cur_loc[0] = target_loc[0];
            cur_loc[1] = target_loc[1];
            if (move_col < 0) {
                res.insert(res.end(), -move_col, 'L');
                if (move_row >= 0)
                    res.insert(res.end(), move_row, 'D');
                else
                    res.insert(res.end(), -move_row, 'U');
            } else {
                if (move_row >= 0)
                    res.insert(res.end(), move_row, 'D');
                else
                    res.insert(res.end(), -move_row, 'U');
                res.insert(res.end(), move_col, 'R');
            }
            res.push_back('!');
        }
        return res;
    }
};

标签:loc,1138,end,target,alphabet,move,板上,res,row
From: https://www.cnblogs.com/zwyyy456/p/17116889.html

相关文章

  • 力扣---1138. 字母板上的路径
    我们从一块字母板上的位置(0,0)出发,该坐标对应的字符为board[0][0]。在本题里,字母板为board=["abcde","fghij","klmno","pqrst","uvwxy","z"],如下所示。我们可......
  • 字母板上的路径
    题目我们从一块字母板上的位置 (0,0) 出发,该坐标对应的字符为 board[0][0]。在本题里,字母板为board=["abcde","fghij","klmno","pqrst","uvwxy","z"],如下所示......
  • P1138 第 k 小整数
    第k小整数题目描述现有n个正整数,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次)。输入格式第一行为n和k;第二行开始为n个正整数的值,整数......
  • 51nod 1138 连续整数的和 好题
    给出一个正整数N,将N写为若干个连续数字和的形式(长度>=2)。例如N=15,可以写为1+2+3+4+5,也可以写为4+5+6,或7+8。如果不能写为若干个连续整数的和,则输出NoS......
  • 在开发板上显示字符和中文
    我们在写lcd驱动程序时,测试时可以在lcd上显示信息,那么他怎么能显示出信息呢,内核里有字符点阵编码,我们在内核里打开字符编码,可以看到很多字符点阵也称为字体。下面我们来自......
  • 在3568开发板上开发外设模块——竟如此简单!
    为满足客户的多元化需求,迅为在原有ov5695摄像头和5G通信模块的基础上,新增了以下选配模块。 针对这些模块,我们编写了9个实验做成了《itop-3568开发板驱动实验手册》,从实验原......
  • 寻找白板上的便签条
    问题来源:​​http://answers.opencv.org/question/162480/contour-detection-for-gray-stickers-on-white-background/​​题目的大概意思就是这样的白板,寻找......
  • 【基础知识】PCB板上的字母数字是什么意思,代表哪些元器件?
    在PCB板上,有很多的丝印字母,如R109、C113、Q105、D206等。这些字母/数字都表示什么意思呢?PCB板上的字母表示的是电子元器件的简称,在字母的后面还往往会跟上数字,这些数字也都......
  • 在3568开发板上开发外设模块——竟如此简单!
     针对这些模块,我们编写了9个实验做成了《itop-3568开发板驱动实验手册》,从实验原理、硬件连接、原理图分析、实验平台、实验步骤一步一步教大家如果配置使用这些模块。......
  • Unity实现在白板上绘画涂鸦
    前言有段时间没有更新博客了,不知道应该写些什么,太简单感觉没有记录的必要,太难自己都没能理解,不知道如何下手。回归初心,记录自己想记录的东西。需要实现一个白板绘画的功能,......