网易首页 > 网易号 > 正文 申请入驻

2024-04-13:用go语言,给定一个整数数组 `nums`, 请编写一个函

0
分享至

2024-04-13:用go语言,给定一个整数数组,

nums

请编写一个函数,返回一个新的数组。

counts

满足以下条件:对于每个,

nums[i]

表示在右侧且比小的元素数量。

counts[i]

nums[i]

nums[i]

输入:nums = [5,2,6,1]。

输出:[2,1,1,0] 。

答案2024-04-13:

来自左程云。

灵捷3.5

大体过程如下:

给定一个整数数组,首先创建一个与大小相同的临时数组,并将的元素复制到中。然后对进行排序,得到按升序排列的新数组。

nums

nums

sorted

nums

sorted

sorted

接下来,创建一个映射,用于记录每个数在排序后数组中的排名。遍历排序后的数组,将排名存储到中。注意,排名从1开始。

rank

rank

接着创建一个数组,长度为,并定义一个函数,它可以计算一个数的二进制表示中最低位的1的值。再定义一个函数,用于查询比给定排名小的元素数量。函数内部使用循环将数组的前缀和累加到结果中,直到排名为0。还定义一个函数,用于更新数组中对应排名的计数值。

bit

n+2

lowbit

query

bit

update

bit

然后创建一个结果数组,初始化为全0。从右向左遍历原始数组,获取当前元素在排序后数组中的排名,通过调用函数获得在当前元素右侧且小于它的元素数量,并将结果存储到中。同时,调用函数更新数组中排名为的计数值。

ans

nums

r

query

ans

update

bit

r

最后返回结果数组。

ans

总的时间复杂度为O(nlogn),其中n为数组的大小,主要由排序操作决定。总的额外空间复杂度为O(n),用于存储临时数组和映射等辅助空间。

Go完整代码如下:

packagemain
import(
"fmt"
"sort"
)
funccountSmaller(nums[]int)[]int{
n:=len(nums)
sorted:=make([]int,n)
copy(sorted,nums)
sort.Ints(sorted)
rank:=make(map[int]int)
fori,num:=rangesorted{
rank[num]=i+1
}
bit:=make([]int,n+2)
lowbit:=func(xint)int{
returnx&-x
}
query:=func(xint)int{
res:=0
forx>0{
res+=bit[x]
x-=lowbit(x)
}
returnres
}
update:=func(xint){
forx<=n+1{
bit[x]++
x+=lowbit(x)
}
}
ans:=make([]int,n)
fori:=n-1;i>=0;i--{
r:=rank[nums[i]]
ans[i]=query(r-1)
update(r)
}
returnans
}
funcmain(){
nums:=[]int{5,2,6,1}
fmt.Println(countSmaller(nums))
}



Python完整代码如下:

#-*-coding:utf-8-*-
defcount_smaller(nums):
n=len(nums)
sorted_nums=sorted([(num,i)fori,numinenumerate(nums)])
rank={sorted_nums[i][0]:i+1foriinrange(n)}
bit=[0]*(n+2)
deflowbit(x):
returnx&-x
defquery(x):
res=0
whilex>0:
res+=bit[x]
x-=lowbit(x)
returnres
defupdate(x):
whilex<=n+1:
bit[x]+=1
x+=lowbit(x)
ans=[0]*n
foriinrange(n-1,-1,-1):
r=rank[nums[i]]
ans[i]=query(r-1)
update(r)
returnans
nums=[5,2,6,1]
print(count_smaller(nums))



声明:个人原创,仅供参考

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
两性科普:戴套的那20秒钟里,女人在干什么?

两性科普:戴套的那20秒钟里,女人在干什么?

喜马拉雅主播暮霭
2024-06-07 15:50:45
哈里王子请西藏高僧与母亲戴安娜王妃通灵,真凶竟是王室成员

哈里王子请西藏高僧与母亲戴安娜王妃通灵,真凶竟是王室成员

真实故事汇
2024-04-02 15:49:31
重庆回应“市级统筹招商引资”:10亿元以上项目纳入首报首谈管理

重庆回应“市级统筹招商引资”:10亿元以上项目纳入首报首谈管理

澎湃新闻
2024-06-10 20:28:28
莫迪与赖清德互动后,巴基斯坦总理发声明,对台表述出现重大改变

莫迪与赖清德互动后,巴基斯坦总理发声明,对台表述出现重大改变

小李说说
2024-06-11 16:54:04
是哪个大冤种把高考作文的“Ai”当成了“爱”啊!网友们笑不活了

是哪个大冤种把高考作文的“Ai”当成了“爱”啊!网友们笑不活了

猫小狸同学
2024-06-09 10:02:25
女排3-0横扫,亚洲第一稳如泰山,朱婷功不可没!

女排3-0横扫,亚洲第一稳如泰山,朱婷功不可没!

开心体育站
2024-06-11 15:05:27
小鹏MONA正式官宣,还是小鹏车标,但会更便宜

小鹏MONA正式官宣,还是小鹏车标,但会更便宜

车动态
2024-06-11 17:08:53
台海问题不是不敢打,一旦开打可能就停不下来了

台海问题不是不敢打,一旦开打可能就停不下来了

小永说金融
2024-06-11 09:54:32
刘亦菲的频繁吻戏只是开胃菜!更炸裂的在后面,她轮流与异性恋爱

刘亦菲的频繁吻戏只是开胃菜!更炸裂的在后面,她轮流与异性恋爱

快乐娱文
2024-06-11 09:13:59
够猖狂!董军防长当面警告美国后不到24小时,27家美国军火商窜台

够猖狂!董军防长当面警告美国后不到24小时,27家美国军火商窜台

国学长亭
2024-06-09 14:04:58
王云蕗:现在女排主攻位置上,不是有实力和能力就能上,说不清

王云蕗:现在女排主攻位置上,不是有实力和能力就能上,说不清

排球评论员
2024-06-06 20:16:35
上海女子带仓鼠上飞机:没找到仓鼠,警方介入,面临天价赔偿

上海女子带仓鼠上飞机:没找到仓鼠,警方介入,面临天价赔偿

王小花谈历史
2024-06-11 16:19:50
客厅烧毁!西安一小区高层住宅发生火灾

客厅烧毁!西安一小区高层住宅发生火灾

环球网资讯
2024-06-11 11:18:15
哪吒张勇:寻找最长里程哪吒 U 车主,免费换一台新款哪吒 X

哪吒张勇:寻找最长里程哪吒 U 车主,免费换一台新款哪吒 X

IT之家
2024-06-10 16:02:25
首播将至!又一新54集谍战大剧来袭,看清演员阵容,难成爆款

首播将至!又一新54集谍战大剧来袭,看清演员阵容,难成爆款

猪猪侃娱乐
2024-06-11 12:25:15
外媒分析:欧盟委员会新主席花落谁家?

外媒分析:欧盟委员会新主席花落谁家?

参考消息
2024-06-11 09:48:07
歼轰7出动,低空抵近荷兰军舰,给意大利发出了警告

歼轰7出动,低空抵近荷兰军舰,给意大利发出了警告

李大娱乐糊涂
2024-06-09 08:39:32
唉!又有一家大企业成功“结业”了!

唉!又有一家大企业成功“结业”了!

翻开历史和现实
2024-06-10 18:54:33
逝者 | 三名龙舟手,在端午节前夕离世

逝者 | 三名龙舟手,在端午节前夕离世

重案组37号
2024-06-10 15:39:36
62岁阿姨哭诉:自从和老公分房睡后,如今他每天都和我闹离婚

62岁阿姨哭诉:自从和老公分房睡后,如今他每天都和我闹离婚

拾代谈生活
2024-06-10 16:04:07
2024-06-11 18:24:49
moonfdd
moonfdd
福大大架构师每日一题
419文章数 7关注度
往期回顾 全部

科技要闻

苹果AI放大招,但中国用户或明年才能用上

头条要闻

珠宝店老板用百吨假黄金骗了200亿 前山东首富被坑惨

头条要闻

珠宝店老板用百吨假黄金骗了200亿 前山东首富被坑惨

体育要闻

侠和凯的差别,正如琼斯和霍乐迪

娱乐要闻

娄艺潇被曝新恋情,和男友甜蜜互动

财经要闻

中央定调!去库存,开始了!

汽车要闻

大家9纯电续航225km 超过5米2超混MPV开着也有劲

态度原创

房产
旅游
本地
艺术
公开课

房产要闻

顶流地段+顶级户型!香港半山豪宅,已成为高净值人群的资产压舱石!

旅游要闻

文旅部:端午节假期国内出游1.1亿人次 增长6.3%

本地新闻

粽情一夏|来宝鸡过端午 体验不一样的节日风情

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版