关注
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
相关推荐
2025-12-17 13:19
兰州信息科技学院 算法工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招什么时候投? #
11107次浏览 187人参与
# 牛友的春节生活 #
8436次浏览 171人参与
# 春节前,你还在投简历吗? #
14805次浏览 174人参与
# 从夯到拉,锐评职场mentor #
5495次浏览 85人参与
# 牛客AI体验站 #
14989次浏览 268人参与
# 备战春招/暑实,现在应该做什么? #
5508次浏览 170人参与
# 春节提前走,你用什么理由请假? #
10929次浏览 252人参与
# 实习到现在,你最困惑的一个问题 #
4792次浏览 138人参与
# 怎么给家人解释你的工作? #
51597次浏览 208人参与
# 工作后,你落下了哪些病根 #
32421次浏览 277人参与
# 面试经验谈 #
406506次浏览 7218人参与
# 没有家庭托举的我是怎么找工作的 #
35748次浏览 266人参与
# 机械制造秋招总结 #
103351次浏览 886人参与
# 上班摸鱼,你都在干些什么? #
39165次浏览 246人参与
# 今年秋招你收到了多少封邮件? #
37759次浏览 279人参与
# 距离春招还有一个月,你现在是什么开局? #
7399次浏览 120人参与
# xxx岗位的一天 #
44962次浏览 279人参与
# 暑期实习什么时候投? #
7543次浏览 178人参与
# 聊聊Agent开发 #
26257次浏览 617人参与
# 找工作,行业重要还是岗位重要? #
96537次浏览 1839人参与
查看24道真题和解析