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

leetcode top 100 (8)无重复字符的最长子串(滑动窗口

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

示例 1:

输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
package TOP1_10;import java.util.HashMap;
import java.util.Map;/*** 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。* <p>* <p>* <p>* 示例 1:* <p>* 输入: s = "abcabcbb"* 输出: 3* 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。*/
public class Top8 {//采用滑动窗口,用一个hash表记录字符串出现最新位置,当出现重复值时候,左指针移动到原新加入字符串位置的右边一个的位置private static int getLargeSizeString(String data) {Map<Character, Integer> charMap = new HashMap<>();int i = -1;int maxSize = 0;for (int j = 0; j < data.length(); j++) {if (charMap.containsKey(data.charAt(j))) {i = charMap.get(data.charAt(j));}charMap.put(data.charAt(j), j);maxSize = Math.max(j - i, maxSize);}return maxSize;}public static void main(String[] args) {String data = "dasjdkajdsaasg";System.out.println(getLargeSizeString(data));}
}

http://www.lryc.cn/news/167076.html

相关文章:

  • 我也惊呆了!原来软件开发根本不需要会编码
  • 定制化图标——Element UI 组件图标替换指南
  • 63、SpringBoot---定制 RestTemplate--消息转化器、拦截器
  • 面试系列 - Redis持久化机制详解
  • Ceph入门到精通-存储集群ceph df 用量统计算法说明
  • 堡垒机的相关介绍
  • 无涯教程-JavaScript - INDIRECT函数
  • LiveNVR监控流媒体Onvif/RTSP功能-支持海康摄像头海康NVR通过EHOME协议ISUP协议接入分发视频流或是转GB28181
  • 一年一度的中秋节马上又要到了,给你的浏览器也来点氛围感吧
  • CentOS8安装mysql-community-client错误解决
  • 故障排除指南:解决 Kibana Discover 加载中的 6 个常见问题
  • 创建一个简单的外卖订餐系统
  • 《追逐胜利:编程之路上的三子棋游戏实践》
  • 身份和访问管理解决方案:混合型IAM
  • 微信小程序动态添加表单模块
  • HTML5+CSS3小实例:纯CSS实现彩虹倒映水面的唯美背景
  • Beautiful Soup简介
  • Springboot2.7集成websocket及相关问题
  • MES管理系统和ERP系统在生产制造管理中的应用
  • Netty Channel 详解
  • 技师学院物联网实训室建建设方案
  • SpringBoot项目--电脑商城【增加/减少购物车商品数量】
  • CSS元素浮动
  • MATLAB中islocalmin函数用法
  • Python+Requests+Pytest+YAML+Allure实现接口自动化
  • 双视觉Transformer(Dual Vision Transformer)
  • MES系统成为工业4.0首选,制造业真正数字化车间你看过吗?
  • Vuex有几种属性以及它们的意义
  • PRBP20P-10/250C-EB、PRDP6G-10/30-CB电液比例直动式先导减压阀放大板
  • GDB之常见缩写命令(十九)