Sort by

recency

|

1255 Discussions

|

  • + 0 comments
    function pairs(k, arr) {
        // Write your code here
        let map = arr.reduce((acc, id) => {
            acc.set(id, (acc.get(id) || 0) + 1);
            return acc;
        }, new Map());
        let count = 0;
        for(let [key, val] of map) {
            if(map.has(key-k)) count += val*map.get(key-k);
        }
        return count;
    }
    
  • + 0 comments
    import java.io.*;
    import java.util.*;
    import java.text.*;
    import java.math.*;
    import java.util.regex.*;
    
    public class Solution {
    
        public static void main(String[] args) throws Exception  {
    
    		//BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		Scanner inr = new Scanner (System.in);
    		int n = inr.nextInt();
    		int k = inr.nextInt();
    		int num[] = new int[n];
    		for(int i=0;i<n;i++){
    			num[i] = inr.nextInt();
    		}
    		Arrays.sort(num);
    		int count = 0;
    		for(int i=0;i<n;i++){
    			for(int j=i+1;j<n;j++){
    				if(num[j] - num[i] == k || num[i] - num[j] == k){
    					count++;
    				}
    				else if(num[j] - num[i] > k || num[i] - num[j] > k){
    					break;
    				}
    			}
    		}
    		System.out.println(count);
    	}
    
    }
    
  • + 0 comments

    Java:

    public static int pairs(int k, List<Integer> arr) {
        int pairsCount =0;
        Set<Integer> arrSet = arr.stream().collect(Collectors.toSet());
        for (Integer item : arr) {
            if (arrSet.contains(item+k)) {
                pairsCount++;
            }
        }
        return pairsCount;
    }
    
  • + 0 comments

    def pairs(k, arr): arr_set = set(arr) return len({x + k for x in arr_set} & arr_set)

  • + 0 comments
    import java.util.*;
    
    public class Solution {
    
        public static void main(String[] args) {
            Scanner inr = new Scanner(System.in);
            int n = inr.nextInt(), k = inr.nextInt();
            int[] num = new int[n];
            for (int i = 0; i < n; i++) num[i] = inr.nextInt();
            Arrays.sort(num);
            int count = 0;
            for (int i = 0; i < n; i++) {
                for (int j = i + 1; j < n; j++) {
                    int diff = num[j] - num[i];
                    if (diff == k) count++;
                    if (diff > k) break;
                }
            }
            System.out.println(count);
        }
    }