2 条题解

  • 0
    @ 2025-9-14 19:40:19

    c++题解

    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    int a[100100],x,n,ans=0;
    signed main(){
      cin>>n>>x;
      for(int i=1;i<=n;i++){
        cin>>a[i];
      }
      int l=1,r=n;
      while(l<r){
        if(a[l]+a[r]==x){
            ans++;
            r--;
            l++;
        }
        else if(a[l]+a[r]>x){
            r--;//如果大于x就减少右边
        }
        else l++;//否则增加左边
      }
      cout<<ans;
    
    }
    
    • 0
      @ 2025-5-8 22:05:05

      JAVA AC代码(map映射完成两数之和):

      import java.util.*;
      import java.util.StringTokenizer;
      import java.io.*;
      
      public class Main {
      
      	public static void main(String[] args) {
      		Map<Integer,Integer> map=new HashMap<>();
      		int n=in.nextInt();
      		int x=in.nextInt();
      		int ans=0;
      		for(int i=1;i<=n;i++){
      			int number=in.nextInt();
      			map.put(number,1);
      			if(map.containsKey(x-number)&&number!=x-number) ans++;
      		}
      		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
      54
      时间
      1000ms
      内存
      256MiB
      难度
      2
      标签
      递交数
      94
      已通过
      33
      上传者