Leetcode PHP题解--D49 821. Shortest Distance to a Character
D49 821. Shortest Distance to a Character
题目链接
821. Shortest Distance to a Character
题目分析
给定一个字符串s
和一个字符c
。
返回字符串中每一个字符离给定的字符c
的最短距离。
思路
先用array_keys找到字符C
在字符串S
中的位置。
如果当前遍历到的位置是在下一个出现的字符C
之前,那么直接相减下标即可得到距离。
否则,当当前下标大于上一个出现字符C
的位置,且存在下一个字符C
时,距离为两者中最小的那个。
当距离为0时,标记下一个要获取的C
的位置。
最终代码
<?php
class Solution {function shortestToChar($S, $C) {$S = str_split($S);$keys = array_keys($S,$C);$distances = [];$prev = 0;foreach($S as $index => $char){$dist = abs($keys[$prev] - $index);if($index > $keys[$prev] && isset($keys[$prev+1])){$dist = min($index-$keys[$prev],$keys[$prev+1]-$index);if($dist == 0){$prev++;}}$distances[] = $dist;}return $distances;}
}
复制代码
若觉得本文章对你有用,欢迎用爱发电资助。
Leetcode PHP题解--D49 821. Shortest Distance to a Character相关推荐
- 【Leetcode_easy】821. Shortest Distance to a Character
problem 821. Shortest Distance to a Character 参考 1. Leetcode_easy_821. Shortest Distance to a Charac ...
- LeetCode 613. Shortest Distance in a Line --SQL
LeetCode 613. Shortest Distance in a Line --SQL LeetCode题解专栏:LeetCode题解 我做的所有的LeetCode的题目都放在这个专栏里,大部 ...
- PAT甲级1046 Shortest Distance:[C++题解]前缀和
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 用前缀和快速求出一段的和.注意求两段,取最小值. ac代码 #include<bits/stdc++.h> using ...
- Shortest Distance from All Buildings
Shortest Distance from All Buildings 题目链接:https://leetcode.com/problems... 这道题要求最短的距离,一般这种要求可以到的地方的距 ...
- 【测试点2超时问题】1046 Shortest Distance (20 分)_21行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 The task is really simple: given N exits on a highway which forms ...
- LeetCode/LintCode 题解丨一周爆刷字符串:URL 编码
描述 给出一个代表网址 host 的字符串 base_url,和代表查询参数的列表 query_params_list,你需要返回带查询参数的完整 URL. 查询参数列表由一些包含两个元素的数组组成, ...
- LeetCode/LintCode 题解丨一周爆刷双指针:最小范围
描述 有k个升序排列的数组,寻找一个最小范围,使每个数组中至少有一个元素被包含. 范围[a,b]比范围[c,d]小,当且仅当b-a < d-c,或是a < c且b-a == d-c. 给定 ...
- LeetCode/LintCode 题解丨一周爆刷字符串:简化路径
描述 给定一个文件的绝对路径(Unix-style),请进行路径简化. Unix中, . 表示当前目录, - 表示父目录. 结果必须以 / 开头,并且两个目录名之间有且只有一个 /.最后一个目录名(如 ...
- LeetCode/LintCode 题解丨一周爆刷字符串:神奇字符串
描述 一个神奇字符串S仅包含'1'和'2',并遵守以下规则: 字符串S是神奇的,因为连接字符'1'和'2'的连续出现次数会产生字符串S本身. 字符串S的前几个元素如下:S = "122112 ...
最新文章
- 数据结构与算法:12 数组与稀疏矩阵
- zookeeper+kafka集群部署+storm集群
- Bootstrap+PHP实现多图上传
- 学习IT技术你需要的是书?视频教程?还是老师?
- matlab 时间序列模型稳定度检验
- Problem 60 关于解决X11的错误的问题?
- python 填充多边形 学习笔记
- JVM-class文件完全解析-方法表集合
- # 模糊图片边缘_PS大神给你变个魔术,如何巧用PS把模糊的照片变清晰
- ROS2学习(七).ROS概念 - ROS客户端库(Ros Client Library)
- 将JQGrid与Spring MVC和Gson集成
- 操作系统之内存管理:3、基本分页存储管理
- mysql 事务 异常_mysql事务级别以及相应的异常现象
- 混日子不是你的错,根源在这里
- DVWA 靶场通关教程
- 143个相见恨晚的排行榜网站,总有一个用得着!
- php 爬虫登录网站,Python爬虫模拟登录带验证码网站
- 哈尔滨学计算机编程学校,哈尔滨中小学生编程学校排名
- 【c++】2.DISALLOW_COPY_AND_ASSIGN的用法
- java-画出二维码
热门文章
- 提高python执行效率_关于提高python程序执行效率的思路和想法
- tracepro应用实例详解_建筑安装工程造价,高清PPT图文详解,小白也能学会的简单步骤...
- routeros v6.43.2_routeros软路由负载均衡,充分利用带宽,提高效率降低成本
- 支持向量机(SVM)必备知识(KKT、slater、对偶)
- linux驱动模块makefile,linux驱动makefile求解
- 百度Apollo飘了!在京开启全无人RoboTaxi体验,车型还能选,原因竟是嫌40万人次体验不够...
- @老板:别开视频会议了,效率低没人care,斯坦福、微软都可以作证
- 塑料:泡两天澡我就消失了?酶降解塑料居然可以这么快 | Nature
- 生物学50年难题被DeepMind解决了,蛋白质版“阿法狗”预测结构准确性达92.4
- 圆圈在动吗?这个骗过人眼的动图火了,LeCun解释原理:和CNN对抗攻击类似