【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;}
};
过啦!!!

写在最后:
以上就是本篇文章的内容了,感谢你的阅读。
如果喜欢本文的话,欢迎点赞和评论,写下你的见解。
如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。
之后我还会输出更多高质量内容,欢迎收看。
相关文章:
【LeetCode】每日一题(2)
目录 题目:1138. 字母板上的路径 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:1138. 字母板上的路径 - 力扣&am…...
软件设计师教程(六)计算机系统知识-操作系统知识
软件设计师教程 软件设计师教程(一)计算机系统知识-计算机系统基础知识 软件设计师教程(二)计算机系统知识-计算机体系结构 软件设计师教程(三)计算机系统知识-计算机体系结构 软件设计师教程(…...
Zookeeper下载安装与集群搭建
Zookeeper下载安装与集群搭建1.下载安装1.1 下载安装1.2 配置启动2.集群搭建2.1 搭建要求2.2 准备工作2.3 配置集群2.4 启动集群2.5 模拟集群异常1.下载安装 1.1 下载安装 1、环境准备 ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。…...
Filter防火墙(8)
实验目的 1、了解个人防火墙的基本工作原理; 2、掌握Filter防火墙的配置。 预备知识防火墙 防火墙(Firewall)是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的数据通过。防火墙可以是一台专属的硬…...
Spring事务的传播级别——包你一文通
文章目录一、简单说明二、具体案例描述2.1.PROPAGATION_REQUIRED2.2.PROPAGATION_REQUIRED_NEW2.3.PROPAGATION_SUPPORTS2.4.PROPAGATION_NOT_SUPPORTED2.5.PROPAGATION_MANDATORY2.6.PROPAGATION_NEVER2.7.PROPAGATION_NESTED三、总结3.1、PROPAGATION_REQUIRED3.2、PROPAGATI…...
C语言(C预编译指令)
目录 1.undef 2.条件编译#ifdef,#else和#endif 3.#ifndef 4.#if和#elif 5.预定义宏 6.#line和#error 7.#pragma 1.undef #undef指令用于取消已定义的#define指令 #define LIMIT 400 #undef LIMIT 如果想使用一个名称但又不确定之前是否已经用过,为了安全起…...
JMeter 接口测试/并发测试/性能测试
Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试。因为再做接口测试时可以设置线程组,所以也可做接口性能测试。本篇使用JMeter完成了一个…...
大家心心念念的RocketMQ5.x入门手册来喽
1、前言 为了更好的拥抱云原生,RocketMQ5.x架构进行了大的重构,提出了存储与计算分离的设计架构,架构设计图如下所示: RocketMQ5.x提供了一套非常建议的消息发送、消费API,并统一放在Apache顶级开源项目rocketmq-clie…...
(考研湖科大教书匠计算机网络)第四章网络层-第三节1:IPv4地址概述
获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:IPv4地址概述二:IPv4地址表示方法(1)概述(2)8位无符号二进制数转十进制正整数ÿ…...
B站Python与OpenCV人脸识别项目超详细记录(对图片、视频、摄像头人脸的检测)
课程来源:一天搞定人脸识别项目!学不会up直接下跪!(pythonopencv)_哔哩哔哩_bilibili 图片来源:感谢王鹤棣先生友情出镜~ 环境配置详见: 在conda虚拟环境中安装OpenCv并在pycharm中使用_cond…...
【Node.js实战】一文带你开发博客项目之Koa2重构(实现session、开发路由、联调、日志)
个人简介 👀个人主页: 前端杂货铺 🙋♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…...
第一部分:简单句——第二章:简单句的补充
简单句的核心构成:一主一谓 主语/宾语/表语 可以变成名词/代词/doing/to do 谓语动词有四种核心变化:三态 一否 时态语态情态否定 简单句的核心:将简单句给写对 简单句的补充:将简单句给写的更好、更充分 简单句的补充 1、限定…...
Spring Security简介
前面我们已经完成了传智健康后台管理系统的部分功能,例如检查项管理、检查组管理、套餐管理、预 约设置等。接下来我们需要思考2个问题: 问题1:在生产环境下我们如果不登录后台系统就可以完成这些功能操作吗? 答案显然是否定的&am…...
Hadoop安装 --- 简易安装Hadoop
目录 1、使用xftp工具 在opt目录下创建install和soft文件 2、使用xftp工具 将压缩包上传到install文件 3、编写shell脚本 3.1、创建目录来放shell脚本 3.2、创建autoinsatll.sh文件并修改权限 3.3、编写autoinsatll.sh 文件 刷新资源 运行文件 格式化 启动所有进程 Ha…...
俞军产品方法论,消化吸收,要点整理
一、总体概括二、产品经理、价值、用户模型、交易模型三、价值、产品和企业的价值生存游戏的常见要点:企业做产品的4方面产出:四、决策五、俞军产品方法论,认知迭代史1)俞军12条产品军规2)产品经理职级的背后影响因素:…...
spring注解的开端(@Component替代bean标签的使用)
目录 一、介绍 1.什么是注解开发? 2.Spring注解的版本 3.基于spring注解的应用 4. Component的细分注解 5.相关注解 二、简单例子讲解 1.类打注解 2.扫描注解放入工厂 3.总工厂取注解调用 4.运行结果 总结: 一、介绍 1.什么是注解开发&…...
Matlab傅里叶谱方法求解一维波动方程
傅里叶谱方法求解基本偏微分方程—一维波动方程 一维波动方程 对于一根两端固定、没有受到任何外力的弦, 若只研究其中的一段, 在不太长的时间 里, 固定端来不及对这段弦产生影响, 则可以认为固定端是不存在的, 弦的长度为无限大。 这种无界 (−∞<x<∞)(-\infty<x&…...
py3中 collections.Counter()函数典型例题
文章目录py3中 collections 的常用STL**Counter()** 函数**defaultdict()** 函数**deque()** 函数**orderedDict()** 函数(缺例题)小结py3中 collections 的常用STL 对于这个工具包非常好用,尤其是其中的 Counter() 函数 使用次数颇为频繁&a…...
Linux部署达梦数据库超详细教程
陈老老老板🦸👨💻本文专栏:国产数据库-达梦数据库👨💻本文简述:本文讲一下达梦数据库的下载与安装教程(Linux版),超级详细。👨💻…...
ctfshow 每周大挑战 极限命令执行
《简单的命令执行题目》 这里感叹一下,g4佬是真好厉害,这次题目十分的难,嗯,对我这种菜鸡来说是这样的,想了一天,最后结束了,也还是没有想明白第五题的解法,我真是fw,到最…...
别再只调包了!用PyTorch从零手搓一个Unet,搞懂语义分割的每个细节
从零构建Unet:深入解析语义分割的代码实现与设计哲学 在计算机视觉领域,语义分割一直是极具挑战性的任务之一。不同于简单的图像分类,语义分割需要模型对图像中的每一个像素进行分类,这要求模型既要理解全局上下文信息,…...
别再死记硬背了!用GNS3/EVE-NG模拟BGP、OSPF、RIP混合组网,带你理解路由选路优先级
动态路由协议实战:用GNS3/EVE-NG解密BGP、OSPF、RIP选路逻辑 当你面对一个同时运行BGP、OSPF和RIP的复杂网络时,路由器究竟如何选择最佳路径?这个看似基础的问题,却让无数网络工程师在深夜排障时抓狂。传统教材中那些枯燥的AD值表…...
云原生地理空间分析引擎Meridian:基于Arrow与GeoParquet的高性能架构解析
1. 项目概述:一个面向未来的开源地理空间数据引擎最近在折腾一个涉及大量地理信息处理的项目,从海量GPS轨迹点到复杂的多边形区域分析,传统的数据库和工具链在处理效率和灵活性上开始捉襟见肘。就在这个当口,我注意到了GitHub上一…...
告别 Origin 内卷|虎贲等考 AI 科研绘图,一键出期刊级学术图
很多做毕业论文、发期刊、做课题的同学和科研人,都卡在同一个难题上:论文写得再好,却栽在科研绘图上。想用专业软件,Origin、Visio、GraphPad 上手难、参数复杂、调试半天出不来一张合格图;用 Excel、PPT 随手做图&…...
MetaGPT多智能体协作框架:从原理到实战的AI自动化软件开发指南
1. 项目概述:当AI学会“开会”,一个智能体协作框架的诞生 如果你关注AI领域,最近可能被一个叫“MetaGPT”的项目刷屏了。它不是一个单一的模型,而是一个雄心勃勃的框架,其核心目标直指一个激动人心的未来:…...
别再瞎写 Prompt 了:2026年最实用的10条LLM提示词技巧
别再瞎写 Prompt 了:2026年最实用的10条LLM提示词技巧强烈推荐收藏!从 OpenAI 官方指南到社区实践精华,每条技巧都附带 ❌ 错误示范 → ✅ 正确示范 → 💡 原理说明。这个问题你肯定遇到过 你打开 ChatGPT,输入&#x…...
基于OpenClaw协议的轻量级AI代理网关MiniClaw实战指南
1. 项目概述:一个轻量级的AI代理网关如果你正在开发一个基于OpenClaw协议的AI应用客户端,或者想快速搭建一个能与现有OpenClaw生态工具(比如各种仪表盘、集成插件)兼容的独立AI代理服务,那么你很可能需要一个能完整实现…...
Vexip UI暗黑主题实现:CSS变量与主题切换完全指南 [特殊字符]
Vexip UI暗黑主题实现:CSS变量与主题切换完全指南 🎨 【免费下载链接】vexip-ui A Vue 3 UI library, highly customizability, full TypeScript, performance pretty good. 项目地址: https://gitcode.com/gh_mirrors/ve/vexip-ui 想要为你的Vue…...
LLM推理中的动态显存卸载技术解析
1. LLM推理中的内存挑战与卸载技术本质在部署百亿参数级别的大型语言模型(LLM)时,GPU显存容量往往成为关键瓶颈。以主流的NVIDIA A100 40GB显卡为例,单卡甚至无法完整加载一个13B参数的模型(按FP16精度计算需要约26GB显存,尚未考虑…...
为什么你的Gemini写作总像“AI腔”?资深技术文档架构师揭秘3层语义校准法
更多请点击: https://intelliparadigm.com 第一章:为什么你的Gemini写作总像“AI腔”?资深技术文档架构师揭秘3层语义校准法 Gemini 生成的技术文档常被诟病为“语法正确但语义失焦”——术语堆砌、逻辑断层、人机语感割裂。根本原因在于模…...
