博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
力扣——字符的最短距离
阅读量:4984 次
发布时间:2019-06-12

本文共 976 字,大约阅读时间需要 3 分钟。

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

示例 1:

输入: S = "loveleetcode", C = 'e'输出: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0]

说明:

  1. 字符串 S 的长度范围为 [1, 10000]
  2. C 是一个单字符,且保证是字符串 S 里的字符。
  3. S 和 C 中的所有字母均为小写字母。
class Solution {    public int[] shortestToChar(String S, char C) {        int[] res = new int[S.length()];        int a = S.indexOf(C);        int i = 0, mid = 0, j = 0;                if(a != 0)            while(i <= a){                res[i] = a - i;                i ++;            }                                while(S.indexOf(C, a + 1) > 0)            for(j = a, i = a, a = S.indexOf(C, a + 1),                 mid = (a + i) / 2; i <= a; i ++ )                if(i <= mid) res[i] = i - j;                else res[i] = a - i;                 if(a != S.length() - 1)            while(i < S.length()){                res[i] = i - a;                i ++;            }                        return res;    }}

 

转载于:https://www.cnblogs.com/JAYPARK/p/10539431.html

你可能感兴趣的文章
Shell编程(二)Bash中调用Python
查看>>
mysql生成数据字典
查看>>
iptables 代理设置
查看>>
String方法的应用:
查看>>
swift 中guard where
查看>>
前端css
查看>>
【机器学习】K-Means算法
查看>>
Java -- JDBC mysql读写大数据,文本 和 二进制文件
查看>>
ASP.NET MVC5----常见的数据注解和验证
查看>>
STM32F072从零配置工程-基于HAL库的串口UART中断配置
查看>>
linux通过c++实现线程池类
查看>>
webpack
查看>>
[转]NopCommerce之视图设计
查看>>
[转]微信公众平台开发入门教程
查看>>
[转].net自定义验证控件CustomValidator的使用
查看>>
c#怎么获取当前页面的url
查看>>
Python Unicode编码方式
查看>>
Centos MySQL Python环境安装
查看>>
如何处理Entity Framework中的DbUpdateConcurrencyException异常
查看>>
Palindrome Partitioning
查看>>