当前位置: 首页 > article >正文

找最小无重复子串(java的哈希)

找出无重复的最小子串

package org.example.algorithm;

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

public class LongofSubstring {
   public int longestSubstring(String s) {
          if(s == null || s.length() == 0){
              return 0;
          }
          Map<Character, Integer> accountMap = new HashMap<Character, Integer>();
          int a = 1;
          accountMap.put(s.charAt(0), 0);
          int res = 1;
          for(int i = 1; i < s.length(); i++){
              if(!accountMap.containsKey(s.charAt(i))){
                  a = a + 1;
              }else {
                  int k = accountMap.get(s.charAt(i));
                  a = i - k <= a ? i - k : a + 1;
              }
              res = Math.max(res,a);
              accountMap.put(s.charAt(i),i);
          }
          return res;
    }
    public static void main(String[] args) {
         LongofSubstring longofSubstring = new LongofSubstring();
         int sublen  = longofSubstring.longestSubstring("abcabcdb");
         System.out.println(sublen);
    }
}


http://www.kler.cn/news/342610.html

相关文章:

  • 安全性能等级
  • 【rust实战】rust博客系统1_项目技术栈
  • Notepad++ 怎么让行行之间只保留一空行
  • 防火墙的三种工作模式:路由模式、透明模式(网桥)、混合模式
  • Ubuntu+VsCode++搭建C++开发环境
  • C++ 泛型编程指南 非类型模板参数
  • LabVIEW提高开发效率技巧----状态保存与恢复
  • OpenCV视频I/O(20)视频写入类VideoWriter之用于将图像帧写入视频文件函数write()的使用
  • Docker极速入门一文通
  • 网络安全知识|网安问答题|OSPF报文协议|抓包工具|路由器环路|序列化与反序列化|磁盘利用率|网络攻防
  • VScode连接远程服务器踩坑实战(新版离线vscode-server安装)
  • react为什么不怕XSS
  • Stable Diffusion——stable diffusion基础原理详解与安装秋叶整合包进行出图测试
  • 除了deadline,我们还能用什么驱动开发?
  • Github优质项目推荐 - 第六期
  • 美发店管理新思路:SpringBoot系统开发
  • 在IDEA里用XDebug调试PHP,断点....
  • ①EtherNet/IP转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
  • Linux——echo-tail-重定向符
  • 【银河麒麟高级服务器操作系统】安全配置基线相关分析全过程及解决方案