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

【LeetCode】每日一题(2)

目录

题目:1138. 字母板上的路径 - 力扣(Leetcode)

题目的接口:

解题思路:

代码:

过啦!!!

写在最后:


题目:1138. 字母板上的路径 - 力扣(Leetcode)

题目的接口:

class Solution {
public:string alphabetBoardPath(string target) {}
};

解题思路:

根据题目,我们发现这个字母表格是有规律的,

他是从a b c d e f g h i j k l m n o p q r s t u v w x y z这样排列的,

而且还排成了一个类似表格的形状,这样我们其实可以用坐标来找每个字母,

那我们就不多想,直接用坐标(x, y)定位每个要查找的字母,然后迭代去找。

最后只要小心一下z字母,不要越界就行,因为z字母的右边是没有字母的,如果

直接往右查找,又或者是倒数第二行的字母直接往下查找,再往左找z,这样都会

造成越界访问,所以要先往上、往左查找。

代码:

class Solution {
public://起始坐标会不断变化,所以传引用void push_c(int x,int y,int& prev_x, int& prev_y,char tag, string&s){//防止在z时越界访问//所以我们先向左查找while(prev_y > y){prev_y--;s.push_back('L');}//再向上查找while(prev_x > x){prev_x--;s.push_back('U');}//这样再往下和右就不会越界了while(prev_x < x){prev_x++;s.push_back('D');}            while(prev_y < y){prev_y++;s.push_back('R');}//找到之后插入'!'s.push_back('!');} string alphabetBoardPath(string target) {//创建要返回的字符串string s;//x和y是目标坐标,prev_x和prev_y是起始坐标int x, y, prev_x = 0, prev_y = 0;//迭代查找for(int i = 0; i < target.size(); i++){//计算目标坐标x = (target[i] - 'a') / 5;y = (target[i] - 'a') % 5;//实现查找函数,迭代查找push_c(x, y, prev_x, prev_y, target[i], s);}//返回return s;}
};

过啦!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果喜欢本文的话,欢迎点赞和评论,写下你的见解。

如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。

之后我还会输出更多高质量内容,欢迎收看。

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

相关文章:

  • 软件设计师教程(六)计算机系统知识-操作系统知识
  • Zookeeper下载安装与集群搭建
  • Filter防火墙(8)
  • Spring事务的传播级别——包你一文通
  • C语言(C预编译指令)
  • JMeter 接口测试/并发测试/性能测试
  • 大家心心念念的RocketMQ5.x入门手册来喽
  • (考研湖科大教书匠计算机网络)第四章网络层-第三节1:IPv4地址概述
  • B站Python与OpenCV人脸识别项目超详细记录(对图片、视频、摄像头人脸的检测)
  • 【Node.js实战】一文带你开发博客项目之Koa2重构(实现session、开发路由、联调、日志)
  • 第一部分:简单句——第二章:简单句的补充
  • Spring Security简介
  • Hadoop安装 --- 简易安装Hadoop
  • 俞军产品方法论,消化吸收,要点整理
  • spring注解的开端(@Component替代bean标签的使用)
  • Matlab傅里叶谱方法求解一维波动方程
  • py3中 collections.Counter()函数典型例题
  • Linux部署达梦数据库超详细教程
  • ctfshow 每周大挑战 极限命令执行
  • 使用vue3,vite,less,flask,python从零开始学习硅谷外卖(16-40集)
  • 坚持就是胜利
  • 代码中出现转置 pose (c2w,外参矩阵) 或者转置 intrinsic (内参)矩阵的原因
  • 2023 年腾讯云服务器配置价格表出炉(2核2G/2核4G/4核8G/8核16G、16核32G)
  • 相机出图画面一半清晰,一半模糊的原因是什么?
  • Rust学习入门--【4】Rust 输出到命令行
  • Vector刷写方案—vFlash工具介绍
  • 【阶段总结】《非结构化信息分析应用与实践(筹)》
  • 七大设计原则之迪米特法则应用
  • curl命令用法精简整理
  • Fluent Python 笔记 第 5 章 一等函数