golang刷leetcode技巧之如何实现数字流的秩
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下golang刷leetcode技巧之如何实现数字流的秩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!假设
千家信息网最后更新 2026年11月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安全错误
数据库的锁怎样保障安全
什么是科技互联网
美国互联网保险保险科技
合肥互联网科技公司
极限挑战互联网科技
互联网金融科技创新
互联网科技缩写
深圳卡尔迅互联网科技有限公司怎么样
互联网科技股午盘股票涨跌
广西拼得多互联网科技有限公司
承德科技产业互联网发展
宝灵互联网科技有限公司
洛阳共同富裕互联网科技有限公司
科技互联网的核心竞争力
厦门江牛科技互联网
广州燕处互联网科技有限公司
扫呗互联网科技有限公司
神州科技互联网有限公司
上海同邻互联网科技有限公司规模
科技信息时代互联网发展
广州全民伙伴互联网科技有限公司
广州互联网科技公司
佩信高科技互联网
科技互联网的估值
畅思互联网科技
中科明德北京互联网科技
互联网方面的科技前沿
35岁以上互联网科技行业
杭州融税互联网科技有限公司
上海旺乐尼互联网科技有限公司
株洲百竞科技的互联网营销顾问