LeetCode 821: 字符的最短距离


☀️ 解题思路:
(1)可以将问题理解为:两个路径比较大小的问题,与左目标值的距离和与右坐标值的距离

(2)设置一个结果集数组,从左向右遍历字符串,记录当前假设目标值在左边,当前位置字符与目标值位置的距离,如果遇到了目标值,就更新目标值的位置

(3)同理,从右向左遍历字符串,记录下的距离与原来记录的距离相比较,用小的值更新原来的值。此处利用了Java中的Math.min()方法

(4)最后返回数组

⛄️ 代码部分:

class Solution {public int[] shortestToChar(String s, char c) {//定义一个结果数组int len = s.length();int [] arr = new int[len]; //从左向右遍历字符串for(int i = 0, index = - len; i < len; i++){if(s.charAt(i) == c){index = i;}arr[i] = i - index;}//从右向左遍历字符串for(int j = len - 1, index = 2 * len; j >= 0; j--){if(s.charAt(j) == c){index = j;}arr[j] = Math.min(index - j, arr[j]);}return arr;}
}

【素人专题】—— 字符的最短距离相关推荐

  1. 有效的括号长按键入验证外星语词典字符的最短距离用栈实现队列

    有效的括号 来源:杭哥 20. 有效的括号 - 力扣(LeetCode) bool isValid(char * s) {int sz=strlen(s);char stack[sz];int k=0 ...

  2. java求最短距离,Java实现 LeetCode 821 字符的最短距离(暴力)

    821. 字符的最短距离 给定一个字符串 S 和一个字符 C.返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组. 示例 1: 输入: S = "loveleet ...

  3. 821.字符的最短距离

    题目 821.字符的最短距离 题目大意 给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符. 返回一个整数数组 answer ,其中 answer.length == s.lengt ...

  4. LeetCode简单题之字符的最短距离

    题目 给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符. 返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s ...

  5. LeetCode 821. 字符的最短距离

    1. 题目 给定一个字符串 S 和一个字符 C.返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组. 示例 1:输入: S = "loveleetcode&quo ...

  6. LeetCode(821)——字符的最短距离(JavaScript)

    给定一个字符串 S 和一个字符C.返回一个代表字符串S中每个字符到字符串 S 中的字符 C 的最短距离的数组. 示例1: 输入: S = "loveleetcode", C = ' ...

  7. java 入门专题 字符缓冲输入流HashMap 集合的简单综合应用:文本排序

    读入 排序前出师表.txt 文本信息,进行排序输出为 排序后出师表.txt 文件 排序前出师表.txt 3.侍中.侍郎郭攸之.费祎.董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下.愚以为宫中之事,事 ...

  8. Leetcode每日一题总目录(动态更新。。。)

    0. 概要 leecode每日一题(也可能多题)题解跟踪记录及总目录. 常用算法解题思路和技巧及数据结构: 预处理:数组排序(954),哈希表... 双指针法 682,125,905 单向链表 2 双 ...

  9. 力扣(LeetCode)刷题,简单题(第13期)

    目录 第1题:字符的最短距离 第2题:棒球比赛 第3题:判定是否互为字符重排 第4题:岛屿的周长 第5题:两个数组的交集 第6题:计算质数 第7题:旋转数组 第8题:二叉树的层平均数 第9题:修建二叉 ...

最新文章

  1. Apache RocketMQ 的 Service Mesh 开源之旅
  2. MySQL源码学习:MySQL中禁止跨库访问的实现
  3. inotifywait实现目录监控
  4. java _web之Servlet简单应用
  5. POJ2594 Treasure Exploration
  6. 装修公司都有什么套路?
  7. Ionic3与Angular4新特性
  8. 2017-2018-20172309 《程序设计与数据结构》第五周学习总结
  9. cad四级计算机考试,国家CAD等级考试(AutoCAD_II).doc
  10. Base64编码及应用
  11. php使用加密狗,加密狗使用方法
  12. 认知的方法论 --以学习python编程语言为例
  13. 四川大学 计算机复试分数线,2015年四川大学考研复试分数线已公布
  14. 《短线交易大师》的读书笔记
  15. 什么样的人适合当领导
  16. UE4 回合游戏项目 20- 添加人物被攻击的动画
  17. iOS知识分享 — iOS 13上的暗模式
  18. 21-7-09 主要元素
  19. 个人python学习(10)
  20. 互联网协议 — PPP 与 PPTP 点对点协议

热门文章

  1. 《RPA开发 从入门到实战》-基于Python
  2. DELL电脑蓝屏:由于驱动更新导致的问题
  3. 发现一个超牛的大学生速成课、考研、考证网站
  4. 辽宁省计算机软件大学排行榜,辽宁省各大学排名如何?
  5. 264 怎么在Win10中重新启动WSL(Windows子系统Linux)
  6. 出国申请PS注意事项
  7. DBHelper类使用
  8. 视频教程-2020年软考信息系统项目管理师考试基础知识(下)新考纲视频培训课程-软考
  9. 反击间谍软件的几款神兵利器
  10. 【点云预处理】N种点云数据数据预处理方法 — 持续总结和更新(二)