golang刷leetcode技巧之如何实现数字流的秩
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,小编给大家分享一下golang刷leetcode技巧之如何实现数字流的秩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!假设
千家信息网最后更新 2025年12月03日golang刷leetcode技巧之如何实现数字流的秩
小编给大家分享一下golang刷leetcode技巧之如何实现数字流的秩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
假设你正在读取一串整数。每隔一段时间,你希望能找出数字 x 的秩(小于或等于 x 的值的个数)。请实现数据结构和算法来支持这些操作,也就是说:
实现 track(int x) 方法,每读入一个数字都会调用该方法;
实现 getRankOfNumber(int x) 方法,返回小于或等于 x 的值的个数。
注意:本题相对原题稍作改动
示例:
输入:
["StreamRank", "getRankOfNumber", "track", "getRankOfNumber"]
[[], [1], [0], [0]]
输出:
[null,0,null,1]
提示:
x <= 50000
track 和 getRankOfNumber 方法的调用次数均不超过 2000 次
解题思路
1,这是二分查找的拓展
2,包含二分查找和二分插入
3,与二分查找的区别是,找到mid位置后,如果mid位置的值<=target ,需要后移mid
代码实现
type StreamRank struct {data []int}func Constructor() StreamRank {return StreamRank{}}func (this *StreamRank) getMid(x int)int{i:=0j:=len(this.data)-1mid:=(i+j)/2for i+1if this.data[mid]==x{break}if this.data[mid]i=mid+1}else{j=mid-1}mid=(i+j)/2}for midmid++}return mid}func (this *StreamRank) Track(x int) {if len(this.data)==0{this.data=append(this.data,x)return}mid:=this.getMid(x)d:=this.data[mid:]this.data=append(this.data[:mid:mid],x)this.data=append(this.data,d...)return}func (this *StreamRank) GetRankOfNumber(x int) int {if len(this.data)==0{return 0}mid:=this.getMid(x)return mid}/*** Your StreamRank object will be instantiated and called as such:* obj := Constructor();* obj.Track(x);* param_2 := obj.GetRankOfNumber(x);*
以上是"golang刷leetcode技巧之如何实现数字流的秩"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
数字
方法
篇文章
技巧
个数
位置
内容
不怎么
也就是
也就是说
代码
大部分
思路
数据
数据结构
整数
时间
更多
本题
次数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2000数据库失败
网络安全特征性质包括
济南职业学院网络技术技能考试
服务器boss伊兰尼库斯
公司网络安全建设计划
软件开发收入的确认
文件服务器基础知识点
根服务器与中国
引文检索数据库
只狼每次都要连服务器
整治网络安全 意义
温州信息化项目中网络安全的比重
切实预防和减少网络安全
辽宁智慧安全教育展馆软件开发
软件开发工作量有分歧
惠普战66做软件开发合适吗
软件开发外包公司利润率
山东什么是应用软件开发服务保障
数据库分为网络
数据库 自定义字段设计
网络安全主题知识
厦门轨道线路数据库设计主要内容
西安软件开发培训班
郑州亨瑞软件开发公司
网络治理及网络安全类征稿
爬虫数据库运行
信息网络安全管理员主要内容
汽车车载网络技术a卷
长宁区会计软件开发咨询报价
移动网络安全小技巧