动态规划算法-子数组、子串系列(数组中连续的一段):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;
    }
}
相关推荐
不穿格子的程序员2 小时前
从零开始刷算法——贪心篇1:跳跃游戏1 + 跳跃游戏2
算法·游戏·贪心
大江东去浪淘尽千古风流人物2 小时前
【SLAM新范式】几何主导=》几何+学习+语义+高效表示的融合
深度学习·算法·slam
山岚的运维笔记2 小时前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
铉铉这波能秀2 小时前
LeetCode Hot100数据结构背景知识之列表(List)Python2026新版
数据结构·leetcode·list
重生之我是Java开发战士2 小时前
【优选算法】模拟算法:替换所有的问号,提莫攻击,N字形变换,外观数列,数青蛙
算法
仟濹2 小时前
算法打卡 day1 (2026-02-06 周四) | 算法: DFS | 1_卡码网98 可达路径 | 2_力扣797_所有可能的路径
算法·leetcode·深度优先
yang)2 小时前
欠采样时的相位倒置问题
算法
南极企鹅2 小时前
springBoot项目有几个端口
java·spring boot·后端
历程里程碑2 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
A尘埃2 小时前
物流公司配送路径动态优化(Q-Learning算法)
算法