821. 字符的最短距离

给定一个字符串 S 和一个字符 C。返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组。

示例 1:

输入: S = “loveleetcode”, C = ‘e’

输出: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0]

说明:

字符串 S 的长度范围为 [1, 10000]。

C 是一个单字符,且保证是字符串 S 里的字符。

S 和 C 中的所有字母均为小写字母。

class Solution {

public int[] shortestToChar(String s, char c) {

int len = s.length();

int[] arr = new int[len];

int lastIdx = -1, nextIdx = s.indexOf(c);

for(int i=0; i

if(nextIdx > -1 && i > nextIdx){

lastIdx = nextIdx;

nextIdx = s.indexOf(c, i);

}

if(nextIdx > -1 && lastIdx > -1){

arr[i] = Math.min(i-lastIdx, nextIdx-i);

} else if(lastIdx == -1){

arr[i] = nextIdx-i;

} else if(nextIdx == -1){

arr[i] = i-lastIdx;

}

}

return arr;

}

}

力扣(LeetCode) 821. 字符的最短距离

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

821. 字符的最短距离 c++实现方法

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

Java实现 LeetCode 824 山羊拉丁文(暴力)

824. 山羊拉丁文 给定一个由空格分割单词的句子 S.每个单词只包含大写或小写字母. 我们要将句子转换为 "Goat Latin"(一种类似于 猪拉丁文 - Pig Latin ...

Java实现 LeetCode 816 模糊坐标(暴力)

816. 模糊坐标 我们有一些二维坐标,如 "(1, 3)" 或 "(2, 0.5)",然后我们移除所有逗号,小数点和空格,得到一个字符串S.返回所有可能的原始 ...

Java实现 LeetCode 722 删除注释(暴力筛选)

722. 删除注释 给一个 C++ 程序,删除程序中的注释.这个程序source是一个数组,其中source[i]表示第i行源码. 这表示每行源码由\n分隔. 在 C++ 中有两种注释风格,行内注释和 ...

Java实现 LeetCode 621 任务调度器(暴力大法)

621. 任务调度器 给定一个用字符数组表示的 CPU 需要执行的任务列表.其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务.任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时 ...

Java实现 LeetCode 836 矩形重叠(暴力)

836. 矩形重叠 矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标. 如果相交的面积为正,则称两矩形重叠.需要明确的 ...

Java实现 LeetCode 835 图像重叠(暴力)

835. 图像重叠 给出两个图像 A 和 B ,A 和 B 为大小相同的二维正方形矩阵.(并且为二进制矩阵,只包含0和1). 我们转换其中一个图像,向左,右,上,或下滑动任何数量的单位,并把它放在另一 ...

Java实现 LeetCode 817 链表组件(暴力)

817. 链表组件 给定一个链表(链表结点包含一个整型值)的头结点 head. 同时给定列表 G,该列表是上述链表中整型值的一个子集. 返回列表 G 中组件的个数,这里对组件的定义为:链表中一段最长连 ...

随机推荐

iOS 获取用户授权的用户隐私保护-地图定位

获取用户授权的用户隐私保护地图定位示例://导入定位框架#import@interfaceViewController()< ...

mysql中find&lowbar;in&lowbar;set&lpar;&rpar;函数的使用

首先举个例子来说: 有个文章表里面有个type字段,它存储的是文章类型,有 1头条.2推荐.3热点.4图文等等 .现在有篇文章他既是头条,又是热点,还是图文,type中以 1,3,4 的格式存储.那我 ...

SQLite的时候判断语句是否纯在:出现RuntimeException

写SQLite的时候判断语句是否纯在: public boolean exist(long id) { String filter = FRIEND_KEY_ID + "=" + ...

&lbrack;分享&rsqb; 封装工具ES4配置文件解释

[分享] 封装工具ES4配置文件解释 LiQiang 发表于 2015-2-3 14:41:21 https://www.itsk.com/thread-346132-1-4.html [分享] 封装 ...

十五天精通WCF——第十一天 如何对wcf进行全程监控

说点题外话,我们在玩asp.net的时候,都知道有一个叼毛玩意叫做“生命周期”,我们可以用httpmodule在先于页面的page_load中 做一些拦截,这样做的好处有很多,比如记录日志,参数过滤, ...

checkstyle配置文件说明

属性说明 basedir代码所在的位置 AbstractClassNameformat: 定义抽象类的命名规则 PackageNameformat: 定义包名的命名规则 TypeNameformat: ...

最近在学习bootstrap的时候用bootstrap的视频教程2&period;0的引用bootstrap3&period;0突然发现很多不同,总结了一下

bootstrap 2.3版与3.0版重要类的改变对比 Bootstrap 2.x Bootstrap 3.0 .container-fluid .container .row-fluid .row ...

關於NPOI的一點補充和示例

最近看到很多人分享NPOI的用法. 但是很多都不是完整示例或者並沒有實戰效果. 剛好最近有個VB.NET的項目有升級原有的oledb select sheet$的做法. 很明顯,NPOI有更好的穩定性 ...

java正则表达式应用--验证字符串是否为数字(转载)

首先说一下java正则表达式的重点概念: 第一.相关类:Pattern.Matcher 第二.典型的调用顺序是 Pattern p = Pattern.compile("a*b") ...

day03

1.set集合--无序的,不重复的序列,类似dict,但是只有key,没有value 创建一个集合: s1 = {11,22,33} s2 = set((22,33,44))必须传入一个可迭代对象(t ...

java求最短距离,Java实现 LeetCode 821 字符的最短距离(暴力)相关推荐

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

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

  2. 821.字符的最短距离

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

  3. java求众数_Java实现 LeetCode 229 求众数 II(二)

    229. 求众数 II 给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素. 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1). 示例 1: 输入: [3,2, ...

  4. 【素人专题】—— 字符的最短距离

    LeetCode 821: 字符的最短距离 ☀️ 解题思路: (1)可以将问题理解为:两个路径比较大小的问题,与左目标值的距离和与右坐标值的距离 (2)设置一个结果集数组,从左向右遍历字符串,记录当前 ...

  5. [转]Java求实际利率之Excel函数RATE

    Excel Java C C++ C# 在excel里有个函数RATE是求实际利率的,在网上搜罗了半年,公式倒是找到不少,可以没有一个实现的算法,郁闷,自己研究,写一个出来,做个备忘 公式: 上面的太 ...

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

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

  7. Java求字符串中出现次数最多的字符

    Java求字符串中出现次数最多的字符  [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51933611      Java ...

  8. java求值不用后缀表达式_数据结构之后缀表达式求值(java实现)

    数据结构之后缀表达式求值(java实现) 前记 ​ 今天在刷leet code的时候刷到了一道题,后缀表达式(逆波兰表达式)求值,我花了一会儿写了一下它的解法.但是今天我不谈什么是后缀表达式,有兴趣的 ...

  9. java两个二进制数求和,Leetcode 67:Add Binary(二进制求和)

    Leetcode 67:Add Binary(二进制求和) (python.java) Given two binary strings, return their sum (also a binar ...

最新文章

  1. Office文件的奥秘——.NET平台下不借助Office实现Word、Powerpoint等文件的解析(完)...
  2. javascript requestAnimationFrame 解决 setTimeout、setInterval 时间不准的方法。
  3. 数据泵导入远程oracle,数据泵导入导出远程数据库数据
  4. JAVA代码覆盖率工具JaCoCo-原理简单分析
  5. echarts鼠标事件以及自定义数据获取
  6. [学习笔记] 二分图基础定理的相关证明
  7. java版本的getorcreate,getOrCreate for java-rest-api neo4j失敗
  8. 【需求工程】需求管理
  9. 手把手教学系列——疯狂Spring Cloud教学视频
  10. 诺拉公司2.6一亿元天价罚款侵权 宅男心中的入侵
  11. apply和call的区别
  12. Linux-SHELL基本操作
  13. C语言中与字符串有关函数讨论以及安全性能问题
  14. mysql字符串替换_MySQL的字符串替换更新操作
  15. 使用allegro画PCB的基本流程:
  16. 学校图书借阅管理系统(MySQL)
  17. 关于simulink仿真中出现的积分器问题
  18. J2SDK的安装历程
  19. 参考文献编号[9]之后出现空格解决方法
  20. ZOJ 3939 The Lucky Week

热门文章

  1. Vue+高德地图API的使用(插件的使用)
  2. Modelsim的使用方法
  3. dalle2:hierarchical text-conditional image generation with clip
  4. 如何批量修改文件后缀名,python来帮你
  5. Mock服务(1)---- 初识Mock
  6. strace命令使用分析
  7. 《基础知识——代码相关》
  8. 第四周.直播.03.论文带读+GAT
  9. svn 合并分支 idea
  10. pandas 处理缺失值[dropna、drop、fillna]