在某厂,产品经理同学的工作职责除了给开发同学提需求,还有一件极其重要的事:对产品运营数据做归因分析。 某天,该产品经理同学接到老板要求:根据在过去一段时间内产品的“每日活跃用户数”,统计出最长的增长总天数,也就是把保持增长势头(可以不连续)的天数抽出来,你可能会得到多个新序列,计算最长的那个序列的总天数。 我们把该产品自上线以来“每日的活跃用户数”,都按照顺序放入一个数组,比如: [1,5,122,34,45,232,342,34],以这组数据为例,把其中所有的增长子序列罗列出来: 形成了 第一个子序列: [1,5,122] 第二个子序列:[34,45,232,342] 第三个子序列:[1,5,122,232,342] 第四个子序列:[1,5,34,45,232,342] 这四个序列,其中最长的是第四个,所以这个例子中,最长的增长总天数是:6 因为该产品上线时间有十几年了,产品同学数了1个小时,眼都数花了,最后只好放弃,她决定用请开发同学吃饭,来解决这个问题,你能帮帮她吗?-笔试面试资料

这是qklbishe.com第19935 篇笔试面试资料
提供答案分析,通过本文《在某厂,产品经理同学的工作职责除了给开发同学提需求,还有一件极其重要的事:对产品运营数据做归因分析。 某天,该产品经理同学接到老板要求:根据在过去一段时间内产品的“每日活跃用户数”,统计出最长的增长总天数,也就是把保持增长势头(可以不连续)的天数抽出来,你可能会得到多个新序列,计算最长的那个序列的总天数。
我们把该产品自上线以来“每日的活跃用户数”,都按照顺序放入一个数组,比如: [1,5,122,34,45,232,342,34],以这组数据为例,把其中所有的增长子序列罗列出来: 形成了 第一个子序列: [1,5,122] 第二个子序列:[34,45,232,342] 第三个子序列:[1,5,122,232,342] 第四个子序列:[1,5,34,45,232,342] 这四个序列,其中最长的是第四个,所以这个例子中,最长的增长总天数是:6
因为该产品上线时间有十几年了,产品同学数了1个小时,眼都数花了,最后只好放弃,她决定用请开发同学吃饭,来解决这个问题,你能帮帮她吗?-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

在某厂,产品经理同学的工作职责除了给开发同学提需求,还有一件极其重要的事:对产品运营数据做归因分析。
某天,该产品经理同学接到老板要求:根据在过去一段时间内产品的“每日活跃用户数”,统计出最长的增长总天数,也就是把保持增长势头(可以不连续)的天数抽出来,你可能会得到多个新序列,计算最长的那个序列的总天数。

我们把该产品自上线以来“每日的活跃用户数”,都按照顺序放入一个数组,比如:
[1,5,122,34,45,232,342,34],以这组数据为例,把其中所有的增长子序列罗列出来:
形成了
第一个子序列: [1,5,122]
第二个子序列:[34,45,232,342]
第三个子序列:[1,5,122,232,342]
第四个子序列:[1,5,34,45,232,342]
这四个序列,其中最长的是第四个,所以这个例子中,最长的增长总天数是:6
因为该产品上线时间有十几年了,产品同学数了1个小时,眼都数花了,最后只好放弃,她决定用请开发同学吃饭,来解决这个问题,你能帮帮她吗?
在某厂,产品经理同学的工作职责除了给开发同学提需求,还有一件极其重要的事:对产品运营数据做归因分析。      某天,该产品经理同学接到老板要求:根据在过去一段时间内产品的“每日活跃用户数”,统计出最长的增长总天数,也就是把保持增长势头(可以不连续)的天数抽出来,你可能会得到多个新序列,计算最长的那个序列的总天数。               我们把该产品自上线以来“每日的活跃用户数”,都按照顺序放入一个数组,比如:      [1,5,122,34,45,232,342,34],以这组数据为例,把其中所有的增长子序列罗列出来:      形成了      第一个子序列: [1,5,122]      第二个子序列:[34,45,232,342]      第三个子序列:[1,5,122,232,342]      第四个子序列:[1,5,34,45,232,342]    这四个序列,其中最长的是第四个,所以这个例子中,最长的增长总天数是:6              因为该产品上线时间有十几年了,产品同学数了1个小时,眼都数花了,最后只好放弃,她决定用请开发同学吃饭,来解决这个问题,你能帮帮她吗? 零葬
就是给最长递增子序列套了个业务背景,我们可以将时间复杂度为O(n2)的经典动态规划方法优化成O(nlogn)的算法
import java.util.*;   public class Solution {     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *       * @param nums int整型一维数组       * @return int整型      */     public int lengthOfLIS (int
[] nums) {         // write code here         int n = nums.length;         int
[] ends = new int
[n];    // ends
[i]表示长度为i+1的递增子序列中的最小结尾         ends
[0] = nums
[0];         int tail = 0, maxLen = 1;         for(int i = 1; i < n; i++){             int index = lowerBound(ends, 0, tail, nums
[i]);             ends
[index] = nums
[i];             if(index > tail){                 tail ++;             }             maxLen = Math.max(maxLen, index + 1);         }         return maxLen;     }          private int lowerBound(int
[] nums, int L, int R, int target) {         int left = L, right = R, index = R + 1;         while(left <= right){             int mid = left + ((right - left) >> 1);             if(nums
[mid] < target){                 left = mid + 1;             }else{                 index = mid;                 right = mid - 1;             }         }         return index;     } }

2022-01-08 19:30:32 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 在某厂,产品经理同学的工作职责除了给开发同学提需求,还有一件极其重要的事:对产品运营数据做归因分析。 某天,该产品经理同学接到老板要求:根据在过去一段时间内产品的“每日活跃用户数”,统计出最长的增长总天数,也就是把保持增长势头(可以不连续)的天数抽出来,你可能会得到多个新序列,计算最长的那个序列的总天数。 我们把该产品自上线以来“每日的活跃用户数”,都按照顺序放入一个数组,比如: [1,5,122,34,45,232,342,34],以这组数据为例,把其中所有的增长子序列罗列出来: 形成了 第一个子序列: [1,5,122] 第二个子序列:[34,45,232,342] 第三个子序列:[1,5,122,232,342] 第四个子序列:[1,5,34,45,232,342] 这四个序列,其中最长的是第四个,所以这个例子中,最长的增长总天数是:6 因为该产品上线时间有十几年了,产品同学数了1个小时,眼都数花了,最后只好放弃,她决定用请开发同学吃饭,来解决这个问题,你能帮帮她吗?-笔试面试资料

提供最优质的资源集合

立即查看 了解详情