• 今日头条春招第一题


    题目描述:

    在n个元素的数组中,找到差值为k的数字对去重后的个数。
    输入描述:

    第一行,n和k,n表示数字个数,k表示差值
    第二行,n个正整数
    输出描述:

    差值为k的数字对去重后的个数
    样例

    in:
    5 2
    1 5 3 4 2
    out:
    3

    思路:

    使用set存储,去重
    排序 遍历查找/二分查找
    使用set.contains函数查找是否存在

     1 import java.util.*;
     2 public class Toutiao1 {
     3 
     4     public static void main(String[] args) {
     5         // TODO Auto-generated method stub
     6         Scanner sc = new Scanner(System.in);
     7         int n = sc.nextInt();
     8         int k = sc.nextInt();
     9         int ans = 0;
    10         int[] a = new int[n];
    11         List<Integer> numList = new ArrayList<Integer>();
    12         for(int i = 0; i <n;i++){
    13             a[i]=sc.nextInt();
    14             numList.add(a[i]);
    15         }
    16         TreeSet<Integer> hset = new TreeSet<Integer>();
    17         hset.addAll(numList);
    18         Iterator<Integer> i = hset.iterator();
    19         while(i.hasNext()){
    20             Integer integer =  i.next();
    21             if(hset.contains(integer+k)){
    22                 ans++;
    23             }
    24         }
    25         System.out.println(ans);
    26     }
    27 
    28 }
  • 相关阅读:
    random模块
    时间模块
    内置函数
    装饰器函数
    python基础二
    linux Ubuntu 16.04安装 postgresql
    Winfrom中的几种传值方式
    C#6.0新特性
    Treeview显示磁盘下的文件,并且可操作
    C#,ASP.NET简单的MD5加密,解密
  • 原文地址:https://www.cnblogs.com/zlz099/p/8649561.html
Copyright © 2020-2023  润新知