动态规划算法-子数组、子串系列(数组中连续的一段):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;
    }
}
相关推荐
SimonKing2 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean2 小时前
Jackson View Extension Spring Boot Starter
java·后端
Seven974 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java
皮皮林55113 小时前
Java性能调优黑科技!1行代码实现毫秒级耗时追踪,效率飙升300%!
java
冰_河13 小时前
QPS从300到3100:我靠一行代码让接口性能暴涨10倍,系统性能原地起飞!!
java·后端·性能优化
地平线开发者14 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮14 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者15 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考15 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习