首页 > 其他分享 >[3] 无重复字符的最长子串

[3] 无重复字符的最长子串

时间:2023-11-21 15:56:43浏览次数:27  
标签:子串 字符 hashMap get max num let hasp 最长

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function (s) {
  let max = 0;
  let num = 0;
  let hasp;
  const hashMap = new Map()
  for (let i = 0; i < s.length; i++) {
    hasp = s.charAt(i);
    if (hashMap.get(hasp) || hashMap.get(hasp) === 0) {
      num = Math.max(num, hashMap.get(hasp) + 1);
    }
    max = Math.max(max, i - num + 1);
    hashMap.set(hasp, i)
  }
  return max;

}

 

标签:子串,字符,hashMap,get,max,num,let,hasp,最长
From: https://www.cnblogs.com/yadayou/p/17846763.html

相关文章

  • 判断字符串是否只含有数字
    判断字符串是否只含有数字使用commons.lang包工具类importorg.apache.commons.lang3.StringUtils;StringUtils.isNumeric(tmpStr)底层实现判断每一个字符是否是数字publicstaticbooleanisNumeric(finalCharSequencecs){if(isEmpty(cs)){re......
  • 关于字符串输入输出的若干函数
    在C语言中,通过<stdio.h>可以使用一些非常有帮助的函数来从标准输入流(或文件流,本篇不涉及)中读入字符串,或者向标准输出流(或文件流)中写入字符串。这篇笔记整理的是这些相关函数的异同以及适用场景。标准输入流的使用使用场景区别一:是否限定读入字符数量为了分析它们......
  • java to json / json to java使用FastJson对JSON字符串、JSON对象及JavaBean之间的相
    目录1、准备 2、javato json 3、jsontojava1、准备 1、json格式在线查看2.下载 阿里巴巴json 解析库alibaba/fastjson下载最新的jar包并且放在项目libs目录下,addaslib````2、javato json 比如我们想使用java 编写以下json格式数据{   "creatT......
  • 【数据结构】数组和字符串(四):特殊矩阵的压缩存储:稀疏矩阵——三元组表
    4.2.1矩阵的数组表示【数据结构】数组和字符串(一):矩阵的数组表示4.2.2特殊矩阵的压缩存储  矩阵是以按行优先次序将所有矩阵元素存放在一个一维数组中。但是对于特殊矩阵,如对称矩阵、三角矩阵、对角矩阵和稀疏矩阵等,如果用这种方式存储,会出现大量存储空间存放重复信息或零......
  • linux 中实现重复字符串的自动编号输出
     001、方法1(base)[root@pc1test]#lsa.txt(base)[root@pc1test]#cata.txt##测试文本aaaaaabbbbcccccccc##利用数组记录字符串重复的次数,借助printf格式化输出(base)[root@pc1test]#awk'{OFS="......
  • 根据值从枚举获取字符串名称
    内容来自DOChttps://q.houxu6.top/?s=根据值从枚举获取字符串名称我有一个如下所示的枚举构造:publicenumEnumDisplayStatus{None=1,Visible=2,Hidden=3,MarkedForDeletion=4}在我的数据库中,枚举被引用为值。我的问题是,如何将枚举的......
  • 关于字符常量的存储空间占用
    我们常常在代码中使用一些字符常量,比如'\n'、'\t',以及字符串的结束符'\0'。但我们很少留意这些字符常量在实际使用中占用的内存大小。比如下面的示例:#include<stdio.h>#defineNULL_CHAR'\0'intmain(void){ charnull_char_literal='\0'; charnull_char_macro......
  • 编译与字符串溢出总结
    大家都知道字符串不能超出定义的长度,那么这是为什么呢?编译与字符串本次总结将用编译原理的知识来解释其中的原理。首先,程序编译时,函数编译将产生一个栈,栈按从高地址到低地址的顺序入栈,在函数参数、返回地址等入栈后,局部变量入栈。假设有字符数组charstr[4];而后给它赋值有......
  • Oracle、达梦:生成32位字符串(ID)
    15、生成32位字符串达梦、oracle函数:sys_guid()、newid()转小写LOWER(char)selectrawtohex(sys_guid());--推荐使用newid()selectREPLACE(newid(),'-','');--转小写selectLOWER(REPLACE(newid(),'-',''));......
  • 设置 IntelliJ IDEA 的默认字符集的方法
    设置IntelliJIDEA的默认字符集的方法 1、在顶部菜单栏找到“帮助(Help)”项(通常是最后一项),点击它并在弹出的二级菜单中选择“编辑定制虚拟机选项(EditCustomVMOptions...)”项。2、在默认追加如下配置:-Dfile.encoding=UTF-8 3、保存并重启IntelliJIDEA即可。......