关注
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
相关推荐
查看19道真题和解析
点赞 评论 收藏
分享
查看16道真题和解析
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
368090次浏览 3638人参与
# 如果再来一次,你还会选择这个工作吗? #
95882次浏览 929人参与
# 阿里云管培生offer #
44824次浏览 1192人参与
# 地方国企笔面经互助 #
5726次浏览 13人参与
# ai智能作图 #
7716次浏览 134人参与
# 发工资后,你做的第一件事是什么 #
3548次浏览 13人参与
# 北方华创开奖 #
51758次浏览 486人参与
# 我的实习求职记录 #
6097326次浏览 83772人参与
# 简历被挂麻了,求建议 #
2520032次浏览 33417人参与
# 牛客租房专区 #
1986次浏览 70人参与
# 上班到公司第一件事做什么? #
14428次浏览 164人参与
# 阿里求职进展汇总 #
71471次浏览 772人参与
# 听到哪句话就代表面试稳了or挂了? #
96059次浏览 807人参与
# 华为工作体验 #
108825次浏览 851人参与
# 网易求职进展汇总 #
38711次浏览 317人参与
# 如何写一份好简历 #
614972次浏览 8692人参与
# 如果有时光机,你最想去到哪个年纪? #
26396次浏览 545人参与
# 面试体验感最好的是哪家? #
91201次浏览 900人参与
# 还记得你第一次面试吗? #
27407次浏览 361人参与
# 如何一边实习一边秋招 #
1001567次浏览 12716人参与
# 腾讯求职进展汇总 #
203954次浏览 1683人参与
# 实习中的菜狗时刻 #
279667次浏览 2753人参与