2026/2/18 2:44:14
网站建设
项目流程
网站建设方案包括,app对接wordpress,网站制作app排行榜前十名,苏州网站建设营销推广题目描述
给出一串正整数数列以及一个正整数 C#xff0c;要求计算出所有满足 A−BC 的数对的个数#xff08;不同位置的数字一样的数对算不同的数对#xff09;。
输入格式
输入共两行。
第一行#xff0c;两个正整数 N,C。
第二行#xff0c;N 个正整数#xff0c;作为…题目描述给出一串正整数数列以及一个正整数 C要求计算出所有满足 A−BC 的数对的个数不同位置的数字一样的数对算不同的数对。输入格式输入共两行。第一行两个正整数 N,C。第二行N 个正整数作为要求处理的那串数。输出格式一行表示该串正整数中包含的满足 A−BC 的数对的个数。public class Main{ public static void main(String args[]){ Scanner scannernew Scanner(System.in); int nscanner.nextInt(); int cscanner.nextLong(); Long ans0L; MapLong,Long mapnew HashMap(); long[] anew long[n1]; for(int i1;in;i){ a[i]scanner.nextInt(); map.put(a[i],map.getOrDefault(a[i],0L)1); a[i]-c; } for(int i1;in;i){ ansmap.getOrDefault(a[i],0L); } System.out.printf(ans); scanner.close(); return ; } }核心思路通过 A - B C → B A - C 的变形把 “找 B” 转化为 “查 B 的出现次数”用 HashMap 实现 O (1) 快速查询整体时间复杂度 O (n)1.第一次循环完成变形map.put(a[i], // 键当前要统计的数字比如数组里的4、7、1等map.getOrDefault(a[i], 0L) 1 // 值更新后的出现次数);键和值对应完成出现次数的记录2.第二次循环输出答案