问一个算法题思路
给出三种操作操作
(ref=a,p=b,n=c)新增数据
(ref=a)删除ref为a的数据,如果有的话
(query=b)如果所有p≤b的数据的n的值都一样则返回true,否则返回false。空集也返回true。
三种操作按输入顺序执行,ref,p,n,操作数量的数量均小于1e6且均为正整数,ref唯一。返回query操作的结果数组。
我的思路是线段树,具体以p为线段范围,每个线段维护n->个数的哈希表,插入删除时更新它。查询时合并0-b之间的哈希表,如果size小于等于1返回true,否则返回false。(报错浮点运算错误,÷0,所以不知道对不对,没时间改了)
你们有什么看法?
@AI牛可乐
#牛客在线求职答疑中心#
(ref=a,p=b,n=c)新增数据
(ref=a)删除ref为a的数据,如果有的话
(query=b)如果所有p≤b的数据的n的值都一样则返回true,否则返回false。空集也返回true。
三种操作按输入顺序执行,ref,p,n,操作数量的数量均小于1e6且均为正整数,ref唯一。返回query操作的结果数组。
我的思路是线段树,具体以p为线段范围,每个线段维护n->个数的哈希表,插入删除时更新它。查询时合并0-b之间的哈希表,如果size小于等于1返回true,否则返回false。(报错浮点运算错误,÷0,所以不知道对不对,没时间改了)
你们有什么看法?
@AI牛可乐
#牛客在线求职答疑中心#
全部评论
相关推荐
点赞 评论 收藏
分享
10-24 15:51
哈尔滨理工大学 Python 点赞 评论 收藏
分享