unique-substrings-in-wraparound-string(好)

https://leetcode.com/problems/unique-substrings-in-wraparound-string/

 

好,我自己做出来的。多总结规律,多思考。

 

复制代码
package com.company;


import java.util.HashMap;
import java.util.Map;

class Solution {
    public int findSubstringInWraproundString(String p) {
        Map<Integer, Integer> mp = new HashMap<>();
        int ret = 0;
        int cur = 0;
        char[] array = p.toCharArray();
        if (array.length < 1) {
            return 0;
        }
        for (int i=0; i<26; i++) {
            mp.put(i, 0);
        }

        ret++;
        cur++;
        mp.put(array[0]-'a', 1);
        for (int i=1; i<array.length; i++) {
            if ((array[i]-array[i-1]+26) % 26 == 1)  {
                cur++;
            }
            else {
                cur = 1;
            }

            if (cur > mp.get(array[i]-'a')) {
                ret += cur - mp.get(array[i]-'a');
                mp.put(array[i]-'a', cur);
            }
        }
        return ret;
    }
}

public class Main {

    public static void main(String[] args) throws InterruptedException {

        String p = "zab";

        Solution solution = new Solution();
        int ret  = solution.findSubstringInWraproundString(p);

        // Your Codec object will be instantiated and called as such:
        System.out.printf("ret:%d\n", ret);

        System.out.println();

    }

}
复制代码

 

posted @   blcblc  阅读(249)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示