Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 计算用户在网站上的指示器位置停留的时间_Algorithm - Fatal编程技术网

Algorithm 计算用户在网站上的指示器位置停留的时间

Algorithm 计算用户在网站上的指示器位置停留的时间,algorithm,Algorithm,我想检测网站上用户的注意力。我得到的数据包括: 滚动位置数组(从顶部=0):[9821023112511911193119612281288135914281476150911154116251731181418711882185518121750166115821564156115041390121246121611135104399881] 以毫秒为单位的时间数组:(对应于滚动位置数组): [25425882687278928834103490359036913794389039924083

我想检测网站上用户的注意力。我得到的数据包括:

  • 滚动位置数组(从顶部=0):
    [9821023112511911193119612281288135914281476150911154116251731181418711882185518121750166115821564156115041390121246121611135104399881]

  • 以毫秒为单位的时间数组:(对应于滚动位置数组):
    [25425882687278928834103490359036913794389039924083459146924795489449905082838284828592869187908882919092919392948995901009010188102891039210482]

  • 这意味着用户在2514ms时滚动至982px(用户访问网站时原点为0)1023px2588ms

    所以我想计算用户在特定点停止的时间,例如1000px

    请注意,用户可能会从上到下滚动,然后从下到上滚动


    谢谢

    在JavaScript中可能是这样的,如果您想在其他语言中使用它,只需要语言语法:

    /*
    位置:位置数组
    时间:用户在每个位置停止广告的时间
    p:感兴趣的职位
    返回:用户在p(或saw p)停止的可能时间
    */
    功能(位置、时间、p){
    var-tot=0;
    if(position[0]>p)tot+=乘以[0];//第一个位置已经大于所需的一次
    对于(变量i=1;ip//小于当前2之间的格栅位置
    )tot+=次[i]-次[i-1];
    }
    返回tot;
    }
    
    这是我的解决方案,但不确定是否解决了。

    你说的“示例1000px”是什么意思??如果用户在1500ms时滚动到800px,在3500ms时滚动到1500px,则与小于1000?的第一个数组的编号对应的时间之和@Berto99,这意味着(可能是!)用户在1000px时停止(3500-1500)=2000ms。我们必须考虑用户是否从下到上滚动,在哪种语言中你想要这个?小心,你使用的是滚动位置的集合。如果该值在同一像素值处停止两次,则一切都将出错,因为一个集合只能包含一次每个值(例如,如果该值返回到982px,则不会添加)。改用数组(
    [int,int,…]
    )。对于时间戳,这并不重要,因为分数一直在增加。(Python?@ErnestBidouille抱歉,我是说数组,它只是Golang输出中的数组。我已经编辑了我的问题我已经为你的答案创建了一个沙盒,让我们讨论一下你的解决方案是错误的,请检查沙盒中的1700你在寻找哪个输出值?请更新沙盒:,检查1625px和1731px的时间,请注意,用户还可以从顶部=>底部,然后从底部=>TOP@Enesy是的,当然,但也有“17501661”在列表的末尾,因此用户从1750向上滚动到1661