首页 > 其他分享 >#yyds干货盘点# 动态规划专题:abb

#yyds干货盘点# 动态规划专题:abb

时间:2022-11-14 11:38:49浏览次数:57  
标签:yyds abb suffix int res 干货 str 字符串

1.简述:

描述

leafee 最近爱上了 abb 型语句,比如“叠词词”、“恶心心”

leafee 拿到了一个只含有小写字母的字符串,她想知道有多少个 "abb" 型的子序列?定义: abb 型字符串满足以下条件:

字符串长度为 3 。

字符串后两位相同。

字符串前两位不同。

输入描述:

第一行一个正整数 #yyds干货盘点# 动态规划专题:abb_子序列

第二行一个长度为 #yyds干货盘点# 动态规划专题:abb_子序列 的字符串(只包含小写字母)

#yyds干货盘点# 动态规划专题:abb_子序列_03

输出描述:

"abb" 型的子序列个数。

示例1

输入:

6
abcbcc

输出:

8

说明:

共有1个abb,3个acc,4个bcc
示例2

输入:

4
abbb

输出:

3

2.代码实现:

import java.util.*;

public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
//输入字符串
String str=sc.next();

//后缀和数组,suffix[i+1][j]表示str中第i个字母之后的对应字母出现次数
int[][] suffix=new int[n+1][26];
for(int i=n-1;i>=0;i--){
char c=str.charAt(i);
for(int j=0;j<26;j++){
suffix[i][j]=suffix[i+1][j];
}
suffix[i][c-'a']++;
}

//记录所有"abb"型子序列的个数
long res=0;

for(int i=0;i<n;i++){
char c=str.charAt(i);
for(int j=0;j<26;j++){
//加上当前字母为前缀,所组成的"abb"型子序列的个数
if(j!=c-'a'&&suffix[i][j]>=2){
res+=suffix[i+1][j]*(suffix[i+1][j]-1)/2;
}
}
}


System.out.println(res);
}
}

标签:yyds,abb,suffix,int,res,干货,str,字符串
From: https://blog.51cto.com/u_15488507/5848569

相关文章

  • RabbitMq简介
    RabbitMq简介RabbitMQ是一个由erlang开发的AMQP(AdvancedMessageQueue高级消息队列协议)的开源实现,由于erlang语言的高并发特性,性能较好,本质是个队列,FIFO先入先出,里面......
  • zabbix搭建
    Zabbix简介zabbix介绍Zabbix是由AlexeiVladishev创建,目前是由ZabbixSIA在持续开发和提供支持。Zabbix是一种企业级的分布式开源监控解决方案。Zabbix是一款能......
  • 干货,深入剖析ReentrantLock源码,推荐收藏
    ReentrantLock和Synchronized都是Java开发中最常用的锁,与Synchronized这种JVM内置锁不同的是,ReentrantLock提供了更丰富的语义。可以创建公平锁或非公平锁、响应中断、超时......
  • #yyds干货盘点#vue使用事件总线进行模块之间的通信
        vue组件非常常见的有父子组件通信,兄弟组件通信。而父子组件通信就很简单,父组件会通过props传数据给子组件,当子组件有事情要告诉父组件时会通过$emit事件告诉......
  • Docker部署RabbitMQ
    1.获取RabbitMQ最新镜像dockerpullrabbitmq:latest 2.创建rabbitmq相关挂载目录mkdir-p/usr/local/rabbitmq/{data,conf,log} 3.创建完成之后要对所创建文件授......
  • #yyds干货盘点# LeetCode 腾讯精选练习 50 题:相交链表
    题目:给你两个单链表的头节点 headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:题目数据......
  • #yyds干货盘点#【愚公系列】2022年11月 微信小程序-实时音视频播放
    前言小程序的实时音视频播放需要先去微信开发者平台开通权限,「开发」-「接口设置」中自助开通该组件权限。类目属性如下:一级类目/主体类型二级类目小程序内容场景......
  • #yyds干货盘点# 动态规划专题:二维前缀和
    1.简述:描述给你一个n行m列的矩阵A,下标从1开始。接下来有q次查询,每次查询输入4个参数x1,y1,x2,y2请输出以(x1,y1)为左上角,(x2,y2)为右下角的子矩阵......
  • #yyds干货盘点# 前端歌谣的刷题之路-第一百六十六题-instanceOf
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了......
  • #yyds干货盘点# 前端歌谣的刷题之路-第一百六十七题-Array.map
     前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了......