定时访问识别

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

 

 

public class Test {

 

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

List<Double> d = new ArrayList<Double>();

d.add(11000.0);

d.add(12050.0);

d.add(13100.0);

d.add(14150.0);

d.add(15200.0);

d.add(16250.0);

d.add(17300.0);

d.add(18350.0);

 

 

 

long start = System.currentTimeMillis();

boolean periodAccess = isPeriodAccess(d, 1000.0, 0.7);

System.out.println(System.currentTimeMillis() - start);

System.out.println(periodAccess);

}

 

public static boolean isPeriodAccess(List<Double> accessMillis, double offsetGap, double periodRation) {

Collections.sort(accessMillis);

double lastInterval = -1.0;

double interval;

double num=2.0;

for(int i=2; i<accessMillis.size(); i++) {

lastInterval = accessMillis.get(i-1) - accessMillis.get(i-2);

interval = accessMillis.get(i)-accessMillis.get(i-1);

 

//user access's interval must large than 1 second

if(interval>1000 && Math.abs(interval - lastInterval)<offsetGap){

num++;

}

}

 

if(num/accessMillis.size()>periodRation){

return true;

}

 

return false;

}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值