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

2024-01-27:用go语言,阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞

0
分享至

2024-01-27:用go语言,阿里巴巴走进了装满宝藏的藏宝洞。藏宝洞里面有N堆金币,

第i堆金币的总重量和总价值分别是m[i]、v[i],

阿里巴巴有一个承重量为T的背包,但并不一定有办法将全部的金币都装进去,

他想装走尽可能多价值的金币,

所有金币都可以随意分割,分割完的金币重量价值比(也就是单位价格)不变。

请问阿里巴巴最多可以拿走多少价值的金币?

答案2024-01-27:

来自左程云。

灵捷3.5

大体过程如下:

1.初始化变量和输入数据:

  • •声明常量 MAXN,并赋值为 101。
  • •定义二维数组 mv,大小为 [MAXN][2],用于存储金币的重量和价值。
  • •定义变量 n 和 t,分别表示金币堆数和背包的最大承重。
  • •初始化输入数据 inputs 和指针变量 ii。

2.读取金币堆的重量和价值:

  • •使用循环从输入数据中读取金币堆的重量和价值,并将其存储到数组 mv 中。

3.按照单位价格进行排序:

  • •使用函数对 mv 数组进行排序,排序规则为单位价格从高到低。
  • sort.Slice

4.背包装金币: 4.1.初始化变量 ans(总价值)为 0.0,used(已使用的背包承重)为 0。 4.2.使用循环遍历金币堆:

4.2.1.若将当前金币堆放入背包不超过最大承重,则将其重量累加到 used,价值累加到 ans。

4.2.2.否则跳出循环。

4.3.如果跳出循环前仍有剩余的金币堆:

4.3.1.计算剩余空间可以容纳的金币部分的比例(剩余承重 / 剩余金币堆重量)。

4.3.2.将该比例乘以剩余金币堆的价值,累加到 ans。

5.输出结果:

  • •使用函数打印 ans,保留两位小数。
  • fmt.Printf

总的时间复杂度为 O(n log n),其中 n 是金币堆的数量。这是因为排序操作的时间复杂度为 O(n log n)。

总的额外空间复杂度为 O(1),因为除了输入数据和一个固定大小的数组,没有使用额外的空间。

go完整代码如下:

packagemain
import(
"fmt"
"sort"
)
constMAXN=101
varmv[MAXN][2]int
varn,tint
funcmain(){
inputs:=[]int{4,50,
10,60,
20,100,
30,120,
15,45}
ii:=0
n=inputs[ii]
ii++
t=inputs[ii]
ii++
fori:=0;imv[i][0]=inputs[ii]
ii++
mv[i][1]=inputs[ii]
ii++
}
sort.Slice(mv[:n],func(i,jint)bool{
returnmv[j][1]*mv[i][0]})
ans:=0.0
used:=0
i:=0
fori=0;iused+=mv[i][0]
ans+=float64(mv[i][1])
}
ifians+=float64(mv[i][1])*float64(t-used)/float64(mv[i][0])
}
fmt.Printf("%.2f\n",ans)
}

python完整代码如下:

#-*-coding:utf-8-*-
MAXN=101
inputs=[4,50,
10,60,
20,100,
30,120,
15,45]
ii=0
n=inputs[ii]
ii+=1
t=inputs[ii]
ii+=1
mv=[[0,0]for_inrange(MAXN)]
foriinrange(n):
mv[i][0]=inputs[ii]
ii+=1
mv[i][1]=inputs[ii]
ii+=1
mv.sort(key=lambdax:x[1]*x[0]
ans=0.0
used=0
i=0
foriinrange(n):
ifused+mv[i][0]<=t:
used+=mv[i][0]
ans+=mv[i][1]
else:
break
ifians+=mv[i][1]*(t-used)/mv[i][0]
print("{:.2f}".format(ans))

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

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

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.

相关推荐
热点推荐
如果完成60个德械师整编,抗日战争能打多久?是时候说出真相了!

如果完成60个德械师整编,抗日战争能打多久?是时候说出真相了!

云霄纪史观
2025-12-18 19:24:02
上海滑稽名家沈荣海:和毛猛达搭档40年,和同行妻子离婚后未再婚

上海滑稽名家沈荣海:和毛猛达搭档40年,和同行妻子离婚后未再婚

法老不说教
2025-12-18 21:27:58
远离“造神”陷阱!官媒揭开34岁肖战真实现状,给所有人提了个醒

远离“造神”陷阱!官媒揭开34岁肖战真实现状,给所有人提了个醒

黄谋仕
2025-12-19 13:10:04
惠若琪拟任新职!父母没生儿子被轻视,如今她和妹妹是双亲的骄傲

惠若琪拟任新职!父母没生儿子被轻视,如今她和妹妹是双亲的骄傲

东方不败然多多
2025-12-19 10:26:32
周受资内部信曝TikTok美国方案!甲骨文等3家投资者入股成立新公司!字节跳动继续拥有TikTok算法知识产权

周受资内部信曝TikTok美国方案!甲骨文等3家投资者入股成立新公司!字节跳动继续拥有TikTok算法知识产权

每日经济新闻
2025-12-19 09:42:07
东体谈徐正源与蓉城分歧:薪水估计达不到4000万 据称有下课条款

东体谈徐正源与蓉城分歧:薪水估计达不到4000万 据称有下课条款

兰亭墨未干
2025-12-19 11:56:09
175:2!联合国大会投票结果公布,美国反对无效,特朗普失声

175:2!联合国大会投票结果公布,美国反对无效,特朗普失声

刘浶开挖机
2025-12-19 12:40:09
袁世凯坐龙椅的真实老照片,接受群臣朝拜,“妃子们”也非常漂亮

袁世凯坐龙椅的真实老照片,接受群臣朝拜,“妃子们”也非常漂亮

文史微鉴
2025-12-13 22:13:15
突发重磅:欧盟达成协议,为乌克兰提供900亿欧元援助!

突发重磅:欧盟达成协议,为乌克兰提供900亿欧元援助!

近距离
2025-12-19 12:53:57
失业游民的戾气越来越重了

失业游民的戾气越来越重了

经济学教授V
2025-11-12 18:49:14
一旦开战中国必败?我国著名院士批主战派,要懂得甲午战争的惨败

一旦开战中国必败?我国著名院士批主战派,要懂得甲午战争的惨败

文史旺旺旺
2025-11-14 20:30:09
已婚第五代大导演被曝追求北电女学生,内娱底线在哪?

已婚第五代大导演被曝追求北电女学生,内娱底线在哪?

橙星文娱
2025-12-16 16:53:04
状元三双带不动贝恩,约基奇23+11+12穆雷单节20分,掘金逆转魔术

状元三双带不动贝恩,约基奇23+11+12穆雷单节20分,掘金逆转魔术

钉钉陌上花开
2025-12-19 12:35:57
夫妻性生活中的“小动作”技巧:让妻子“爽”到骨子里的四个秘诀

夫妻性生活中的“小动作”技巧:让妻子“爽”到骨子里的四个秘诀

精彩分享快乐
2025-12-04 13:26:44
北京下周还有雪!今天空气质量将好转——

北京下周还有雪!今天空气质量将好转——

BRTV新闻
2025-12-19 12:57:41
成都蓉城官宣徐正源下课,同时给他准备了惊喜大礼,让球迷意外

成都蓉城官宣徐正源下课,同时给他准备了惊喜大礼,让球迷意外

张丽说足球
2025-12-18 17:09:24
1996年甲A联赛最佳阵容

1996年甲A联赛最佳阵容

K唐伯虎
2025-12-19 08:07:59
《江南春》现身拍卖会后,又一名画踪迹现身,南京博物院被实锤了

《江南春》现身拍卖会后,又一名画踪迹现身,南京博物院被实锤了

慢半拍sir
2025-12-19 10:30:40
乌军要解散国际军团,志愿者们编入突击部队!俄军逃兵同样很严重

乌军要解散国际军团,志愿者们编入突击部队!俄军逃兵同样很严重

鹰眼Defence
2025-12-14 17:43:15
金庸笔下最倒霉的9大高手,小说写完了,金庸才发现把他们给忘了

金庸笔下最倒霉的9大高手,小说写完了,金庸才发现把他们给忘了

耳东文史
2025-12-18 00:01:26
2025-12-19 14:36:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1074文章数 51关注度
往期回顾 全部

科技要闻

2025新一代人工智能创业大赛总决赛收官

头条要闻

中戏院长郝戎被查 刘烨、章子怡、靳东等为其学生

头条要闻

中戏院长郝戎被查 刘烨、章子怡、靳东等为其学生

体育要闻

没有塔图姆,还有塔秃姆

娱乐要闻

曲协表态仅6天,郭德纲担心的事还是发生

财经要闻

非法集资911亿!"金融大鳄"终审被判无期

汽车要闻

最便宜GLS 2026款奔驰GLS经典版售96.8万

态度原创

艺术
旅游
手机
本地
公开课

艺术要闻

诸乐三的写意花鸟

旅游要闻

巴黎大区首条缆车投入运行 | 新民侨梁

手机要闻

颜值实力双在线 vivo S50 Pro mini小屏实力派

本地新闻

云游安徽|访黄山云海古村,读一城山水风骨

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版