首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

今日头条实习笔试题-题1

共五道编程题

第一题:给一组数组,求数组里两个数的差为k的 不重复对数。

*输入: 第一行:数组的个数 和 k值

* 第二换:数组元素

* 输入:去重后的 个数

*

* 比如 输入: 6 2

* 1 5 3 3 4 2

* 输出: 3

*

* 输入: 4 0

* 1 1 1 1

* 输出: 1

这题烦在 怎么去重。

这题首先可以将 输入的数组去重, 可以用双指针做(我感觉比较烦)

自己想了一个比较讨巧的方法,用set,代码很简单,自己测试了几个用例,过了,但是没有机会在平台上跑,不知道能AC多少(主要是做题的时候没想到这个,自己太菜了)

importjava.util.HashSet;

importjava.util.Scanner;

importjava.util.Set;

publicclassMain {

publicstaticvoidmain(String[]args) {

Scannersc=newScanner(System.in);

intN= Integer.parseInt(sc.next());

intk= Integer.parseInt(sc.next());

HashSetset=newHashSet();

for(inti= 0;i

set.add(sc.nextInt());

}

intcount= 0;

for(Integernum:set){

if(set.contains(num+k)){

count++;

}

}

}

}

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180325G1190H00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券