动态规划算法-子数组、子串系列(数组中连续的一段):26.环绕字符串中唯一的子字符串

题目链接:467. 环绕字符串中唯一的子字符串(中等)

算法原理:

解法:动态规划

Java代码:

java 复制代码
import java.util.Arrays;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-23
 * Time: 09:29
 */
class Solution {
    //467. 环绕字符串中唯一的子字符串
    //看完算法原理之后自己写的,基本一遍过
    //吴小哲跟我写的大体一样,只不过它是把s转换成字符数组了
    public int findSubstringInWraproundString(String s) {
        int n=s.length();
        int[] dp=new int[n];
        Arrays.fill(dp,1);
        for(int i=1;i<n;i++){
            char ch1=s.charAt(i-1);
            char ch=s.charAt(i);
            if((ch1-'a'+1==ch-'a')||ch1=='z'&&ch=='a')
                dp[i]+=dp[i-1];
        }
        int[] hash=new int[26];
        for(int i=0;i<n;i++){
            int ch=s.charAt(i)-'a';
            hash[ch]=Math.max(hash[ch],dp[i]);
        }
        int sum=0;
        for(int x:hash) sum+=x;
        return sum;
    }
}
相关推荐
雪的季节19 小时前
qt信号槽跨线程使用时候的坑
java·开发语言·qt
chh56319 小时前
C++--内存管理
java·c语言·c++·windows·学习·面试
我真不是小鱼19 小时前
cpp刷题打卡记录27——无重复字符的最长子串 & 找到字符串中所有字母的异位词
数据结构·c++·算法·leetcode
XuecWu319 小时前
原生多模态颠覆Scaling Law?解读语言“参数需求型”与视觉“数据需求型”核心差异
人工智能·深度学习·算法·计算机视觉·语言模型
We་ct19 小时前
LeetCode 69. x 的平方根:两种解法详解
前端·javascript·算法·leetcode·typescript·平方
一直不明飞行19 小时前
C++:string,写法s.find(‘@‘) != s.end()是否有问题
开发语言·c++·算法
白緢19 小时前
嵌入式 Linux + 内核开发高频问题及排查
java·linux·运维
Proxy_ZZ019 小时前
打造自己的信道编码工具箱——Turbo、LDPC、极化码三合一
c语言·算法·信息与通信
wayz1119 小时前
21天机器学习核心算法学习计划(量化方向)
学习·算法·机器学习
穿条秋裤到处跑19 小时前
每日一道leetcode(2026.04.09):区间乘法查询后的异或 II
算法·leetcode