关注
public static void main(String[] args) { System.out.println(fun2(new int[2])); Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int k = scanner.nextInt(); int[] array = new int[n]; for (int i = 0; i < n; i++) { array[i] = scanner.nextInt(); } Arrays.sort(array); int count = 0; Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < n; i++) { int start = array[i]; for (int j = i; j < n; j++) { if ((array[j] - array[i]) > k) { break; } if ((array[j] - array[i]) == k) { map.put(array[i], array[j]); } } } System.out.println(map.keySet().size()); } // 双指针 也可以解决 public static int fun2 (int[] a) { a = new int[] {1,1,2,2,2,2,2,3,3,3,3,4}; int k = 1; Set<Integer> set = new HashSet<>(); for (int i : a) { set.add(i); } Integer[] aa = set.toArray(new Integer[1]); int n = aa.length; int r = 0; int res = 0; for (int l = 0; l < n; l++) { while (r < n && aa[r] - aa[l] < k) { r++; // } if (r >= n) { break; } if (aa[r] - aa[l] == k) { res++; } } return res; }
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试体验最好和最差的公司 #
7982次浏览 54人参与
# 如何提高实习转正率? #
100068次浏览 583人参与
# 厦门银行科技岗值不值得投 #
17335次浏览 413人参与
# 烂工作和没工作哪个更痛苦? #
8229次浏览 155人参与
# 重来一次,我还会选择这个专业吗 #
444909次浏览 3947人参与
# 给工作过的公司写一条大众点评,你会怎么写? #
3428次浏览 55人参与
# 春招至今,你收到几个面试了? #
17994次浏览 281人参与
# 现在入门AI首先要做什么? #
1834次浏览 51人参与
# AI替代不了什么? #
7117次浏览 105人参与
# 一人分享一个skill #
1424次浏览 38人参与
# 银行笔面经互助 #
190356次浏览 1313人参与
# Agent面试会问什么? #
5989次浏览 141人参与
# 总结:offer选择,我是怎么选的 #
280946次浏览 1552人参与
# 有必要和同事成为好朋友吗? #
44039次浏览 439人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
10865次浏览 56人参与
# 学历VS实习,哪个更重要? #
19651次浏览 262人参与
# 选完offer后,你后悔学本专业吗 #
68039次浏览 267人参与
# 面试线索爆料 #
123936次浏览 689人参与
# 职场吐槽大会 #
345229次浏览 2275人参与
# 如果实习可以转正,你会不会放弃秋招 #
969617次浏览 6875人参与
# 机械人,你的秋招第一份简历被谁挂了 #
261167次浏览 2435人参与
查看25道真题和解析