2 条题解

  • 1
    @ 2025-5-12 19:57:58
    #include <iostream>
    #include <map>
    using namespace std;
    map<char,int> mp;
    int main(){
      int n;
      string s;
      cin>>n>>s;
      int ans=0,cnt=0;
      for(int i=0;i<n;i++){
        for(int j=i;j<n&&!mp[s[j]];j++){
          mp[s[j]]++;
          cnt++;
        }
        mp.clear();
        ans=max(ans,cnt);
        cnt=0;
      }
      cout<<ans<<endl;
      return 0;
    }
    
    • 0
      @ 2025-5-8 22:06:32

      JAVA ac代码:

      import java.util.*;
      import java.util.StringTokenizer;
      import java.io.*;
      
      public class Main {
      
      	public static void main(String[] args) {
      		int n=in.nextInt();
      		int left=0,ans=0;
      		String s=in.next();
      		Set<Character> set=new HashSet<>();
      		for(int right=0;right<s.length();right++){
      			char c=s.charAt(right);//看这个字符是什么
            //如果集合中有这个字符,则删除前面的字符,直至集合中没有这个字符
            while(set.contains(c)){
      				set.remove(s.charAt(left));
      				left++;
      			}
            //加上现在的字符
      			set.add(c);
            //两个指针计算距离
      			ans=Math.max(ans,right-left+1);
      		}
      		out.println(ans);
      		out.close();
      	}
      	
      	
      
      	static FastReader in=new FastReader();
      	static PrintWriter out=new PrintWriter(System.out);
      	static class FastReader{
      		static BufferedReader br;
      		static StringTokenizer st;
      		FastReader(){
      			br=new BufferedReader(new InputStreamReader(System.in));
      		}
      		String next() {
      			String str="";
      			while(st==null||!st.hasMoreElements()) {
      				try {
      					str=br.readLine();
      				}catch(IOException e) {
      					throw new RuntimeException(e);
      				}
      				st=new StringTokenizer(str);
      			}
      			return st.nextToken();
      		}
      		int nextInt() {
      			return Integer.parseInt(next());
      		}
      		double nextDouble() {
      			return Double.parseDouble(next());
      		}
      		long nextLong() {
      			return Long.parseLong(next());
      		}
      	}
      	
      }
      
      
      • 1

      信息

      ID
      74
      时间
      1000ms
      内存
      256MiB
      难度
      2
      标签
      递交数
      62
      已通过
      28
      上传者