日志统计,两数之和
Posted 猪八戒1.0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日志统计,两数之和相关的知识,希望对你有一定的参考价值。
ts,td,下面是按照ts时间排序,基础上再对td排序,while中的>=d表示时间大于要求不合格
import java.util.Arrays;
import java.util.Scanner;
public class Main
public static void main(String[] args)
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int d = scanner.nextInt();
int k = scanner.nextInt();
int N = 100005;
Cmp cmp[] = new Cmp[n];
for (int i = 0; i < n; i++)
cmp[i] = new Cmp(scanner.nextInt(), scanner.nextInt());
Arrays.sort(cmp);
int count[] = new int[N];
int flag[] = new int[N];
for (int i = 0, j = 0; i < n; i++)
count[cmp[i].id]++;
while (cmp[i].ts - cmp[j].ts >= d)
count[cmp[j].id]--;
j++;
if (count[cmp[i].id] >= k)
flag[cmp[i].id] = 1;
for (int i = 0; i < N; i++)
if(flag[i]==1)
System.out.println(i);
class Cmp implements Comparable<Cmp>
int ts, id;
Cmp(int a, int b)
ts = a;
id = b;
@Override
public int compareTo(Cmp o)
return this.ts - o.ts;
public class Solution
public int[] twoSum(int[] numbers, int target)
HashMap<Integer,Integer> map=new HashMap<>();
for(int i=0;i<numbers.length;i++)
if(map.get(numbers[i])!=null)
int [] result=map.get(numbers[i]),i;
return result;
//不能放在上面的if之前
map.put(target-numbers[i],i);
//如果不存在
int[] result=;
return result;
以上是关于日志统计,两数之和的主要内容,如果未能解决你的问题,请参考以下文章
代码随想录算法训练营第六天 | 242.有效的字母异位词349. 两个数组的交集202. 快乐数1. 两数之和