首页 > 其他分享 >检查相同字母间的距离

检查相同字母间的距离

时间:2023-05-23 19:55:31浏览次数:41  
标签:distance 下标 检查 字母 距离 匀整 字符串 true

给你一个下标从 0 开始的字符串 s ,该字符串仅由小写英文字母组成,s 中的每个字母都 恰好 出现 两次 。另给你一个下标从 0 开始、长度为 26 的的整数数组 distance 。

字母表中的每个字母按从 0 到 25 依次编号(即,'a' -> 0, 'b' -> 1, 'c' -> 2, ... , 'z' -> 25)。

在一个 匀整 字符串中,第 i 个字母的两次出现之间的字母数量是 distance[i] 。如果第 i 个字母没有在 s 中出现,那么 distance[i] 可以 忽略 。

如果 s 是一个 匀整 字符串,返回 true ;否则,返回 false 。

示例 1:

输入:s = "abaccb", distance = [1,3,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
输出:true
解释:

  • 'a' 在下标 0 和下标 2 处出现,所以满足 distance[0] = 1 。
  • 'b' 在下标 1 和下标 5 处出现,所以满足 distance[1] = 3 。
  • 'c' 在下标 3 和下标 4 处出现,所以满足 distance[2] = 0 。
    注意 distance[3] = 5 ,但是由于 'd' 没有在 s 中出现,可以忽略。
    因为 s 是一个匀整字符串,返回 true 。
    示例 2:

输入:s = "aa", distance = [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
输出:false
解释:

  • 'a' 在下标 0 和 1 处出现,所以两次出现之间的字母数量为 0 。
    但是 distance[0] = 1 ,s 不是一个匀整字符串。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/check-distances-between-same-letters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution {
    public boolean checkDistances(String s, int[] distance) {
        //双指针
        for(int i=0;i<s.length();i++){
            for(int j=i+1;j<s.length();j++){
                //当双指针上的字母相同时,distance对应字母下表的数字内容要复合匀整规则
                if(s.charAt(i)==s.charAt(j)&&distance[s.charAt(i)-'a']!=j-i-1){
                    return false;
                }
            }
        }
        return true;
    }
}

标签:distance,下标,检查,字母,距离,匀整,字符串,true
From: https://www.cnblogs.com/xiaochaofang/p/17426210.html

相关文章

  • 检查端口异常
      ......
  • 计算两个经纬度坐标之间的距离值
    importjava.util.*;importjava.math.*;/***计算两个经纬度坐标之间的距离值*src:https://blog.csdn.net/zhuxiaoping54532/article/details/53671641*/publicclasstest1{privatefinalstaticdoubleEARTH_RADIUS=6378.137;publicstaticvoidm......
  • 简单封装JWTUtils实现对token的创建和过期时间检查
    想要使用jwt需要先导入依赖<!--https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt--><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version></depend......
  • 【FPGA】Verilog 实践:奇偶校验生成器 | 奇偶校验检查器 | 2-bit 二进制比较器
    写在前面:ParitybitGenerator/Checker和2bitbinarycomparator的了解和确认动作。使用Verilog进行ParitybitGenerator/Checker、2bitbinary,实施comparator,生成输入信号后确认通过模拟器实现的每个Gate操作,通过FPGA验证Verilog实现的电路的行为。Ⅰ.前置知识0x00......
  • js根据姓名首字母构造字母索引列表
    js根据姓名首字母构造字母索引列表1、首先安装js-pinyin插件npminstalljs-pinyin2、引入js-pinyin//npminstalljs-pinyin下的映入importpinyinfrom'js-pinyin'//我的是下载下来将js-pinyin放在了当前文件目录下,如果是放在node_modeule里面的话如上引入就行import......
  • Android系统联系人全特效实现(下),字母表快速滚动
    其实ListView本身是有一个快速滚动属性的,可以通过在XML中设置android:fastScrollEnabled="true"来启用。包括以前老版本的Android联系人中都是使用这种方式来进行快速滚动的。效果如下图所示:[img]http://dl2.iteye.com/upload/attachment/0088/8223/48aec4c5......
  • 计算点到直线的距离
     计算点到直线的距离importnumpyasnpdefget_distance_from_point_to_line(point,line_point1,line_point2):#对于两点坐标为同一点时,返回点与点的距离ifline_point1==line_point2:point_array=np.array(point)point1_array=np.a......
  • 力扣 72. 编辑距离
    72.编辑距离给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数  。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1="horse",word2="ros"输出:3解释:horse->rorse(将'h'......
  • 检查包含缺失值的编号列 有多少需要转换为整数字符串的
    '''检查包含缺失值的编号列有多少需要转换为整数字符串的为避免计数函数忽略缺失值,需要先将列转换为字符串格式,或者采用value_counts(dropna=False)两种方法比较https://cloud.tencent.com/developer/article/2134113结论编号列含缺失值和浮点数不能整列直接转换为整数......
  • 智能车基于五次多项式的智能车横向避幢模型,首先根据工况计算出预碰撞时间,进而计算出最
    智能车基于五次多项式的智能车横向避幢模型,首先根据工况计算出预碰撞时间,进而计算出最小转向距离,通过MPC预测控制算法来对规划路径进行跟踪控制。ID:3280675085193208......