首页 > 其他分享 >lc_top_0922

lc_top_0922

时间:2022-09-22 22:12:59浏览次数:92  
标签:子串 map lc int max top 0922 left charAt

lc3 无重复字符的最长子串

滑动窗口 维护不重复的集合,指针向右平移

class Solution {
    public int lengthOfLongestSubstring(String s) {
        Set<Character> set = new HashSet<>();
        int n = s.length();
        int rk = -1, ans = 0;
        for (int i = 0; i< n; i++) {
            if (i != 0) {
                set.remove(s.charAt(i-1));
            }
            while(rk+1<n && !set.contains(s.charAt(rk+1))) {
                set.add(s.charAt(rk+1));
                rk++;
            }
            ans = Math.max(ans,rk-i+1);
        }
        return ans;
    }
}
class Solution {
    public int lengthOfLongestSubstring(String s) {
        if (s.length() == 0) {
            return 0;
        }
        HashMap<Character, Integer> map = new HashMap<>();
        int max = 0;
        int left = 0;
        for (int i = 0; i < s.length(); i++) {
            if (map.containsKey(s.charAt(i))) {
                left = Math.max(left, map.get(s.charAt(i))+1);
            }
            map.put(s.charAt(i), i);
            max = Math.max(max,i - left + 1);
        }
        return max;
    }
}

两种解法,思路类似。
//todo 滑动窗口
3. 无重复字符的最长子串

  1. 串联所有单词的子串

  2. 最小覆盖子串

  3. 至多包含两个不同字符的最长子串

  4. 长度最小的子数组

  5. 滑动窗口最大值

  6. 字符串的排列

  7. 最小区间

  8. 最小窗口子序列

标签:子串,map,lc,int,max,top,0922,left,charAt
From: https://www.cnblogs.com/beichuang/p/16721014.html

相关文章

  • 20220922测试总结
    多做,视野才开阔,不要老是想着水题!P7800[COCI2015-2016#6]PAROVI原题链接题目分析一来可以直接暴力求解,硬性枚举是否选择这些线段,显然必须优化。我们先预处理每个二元......
  • 20220922缉
    20220922(种苹)t1[COCI2015-2016#6]PAROVI最初思路若选择二元组中不包含1,那Slavko只需选择2作为x即可对所有二元组满足a,b≥x;同样,若不包含n,则Slavko只需选择n作为x即可满......
  • Flask 学习-73.Flask-SQLAlchemy 分页查询paginate
    前言Flask-SQLAlchemy提供了一个分页查询方法paginate(),方便我们实现在后端查询分页。分页查询在django框架里面有个rest_framework.pagination分页器,只需简单的配......
  • LCA&DSU&MST
    目录$\text{LCA}$时间复杂度树上差分最小瓶颈路树上路径相交无根树$\text{LCA}$小结$\text{DSU}$时间复杂度带权并查集扩展域连通时间戳断边时间戳小结\(\text{M......
  • OpenPLC
    官网地址https://openplcproject.com/简介支持Windows、Linux、MAC符合IEC61131-3标准要求(可编程序控制器第3部分:编程语言),国标为GB/T15969.3。三个组成部分:编辑......
  • lc_模拟_回文串_0921
    lc5最长回文子串1动态规划classSolution{publicStringlongestPalindrome(Strings){intlen=s.length();if(len<2){r......
  • lc-0921
    lc206反转链表classSolution{publicListNodereverseList(ListNodehead){ListNodeprev=null;ListNodecurr=head;while(cu......
  • 如何确保kafka topic已经删除
    问题描述TopicExistsException:Topic'xxx'ismarkedfordeletion.在写kafka工具时,有两个方法:批量创建topic和批量删除topic。运维操作一般是,批量删除一堆topic,然......
  • LC1143 最长公共子序列
    intlongestCommonSubsequence(stringtext1,stringtext2){//dp[i][j]记录text1前i序列和text2前j序列的最长公共序列intdp[1005][1005];m......
  • LC300 LCS
    intlengthOfLIS(vector<int>&nums){intlen=nums.size();intdp[len];intlist[len];//记录序列下标vector<int>v;for(inti=0;i<len;i++){......