第三题个人思路: 1. 对原始数据按y升序快排 2. 对原始数据按x降序再次快排 3. 创建一个等长数组,数组记录每一位后面y值依次递减的最大数目。 4.第3步数组中最大值就是答案。 至于第三步实现: 数组初始化0,从后向前走。对于每一位,只需要找到它后面比自己小的数据里面最大值+1就是本位数值。 例如: y值情况:5 9 3 5 3 4 7 2 1 数z情况:4 5 3 4 3 3 3 2 1 解释: 倒一位1,它后面没有,所以1 倒二位2,它后比它小且对应数组值最大的为1~1,所以它为1+1=2 倒三位7,它后比它小且对应数组值最大的为2~2,所以它为2+1=3 倒四位4,它后比它小且对应数组值最大的为2~2,所以它为2+1=3 ............ 时间情况: 1. 快排:n*logn 2. 快排:n*logn 3. 计数:n*n/2 4. 寻值:n 最后时间复杂度应为O(n^2)。
点赞 评论

相关推荐

04-30 21:35
已编辑
长安大学 C++
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务