要回国了,写个简单的总结吧。

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
系统
1分钟前
全站
Warald 说: MemorialDay大礼包之二:【新功能】论坛开启用户全局威望值,每楼右上方均可投票。
25分钟前
全站
Warald 说: MemorialDay大礼包之一:【新功能】发帖后,可以邀请朋友参与讨论(自动功能)
32分钟前
查看: 1025|回复: 4
收起左侧

[算法题] [foobar] 审问兔子 (基于最小化一个多项式来排序的问题)

[复制链接] |试试Instant~ |关注本帖
我的人缘0
slaink 发表于 2015-4-29 11:36:41 | 显示全部楼层 |阅读模式
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
本帖最后由 slaink 于 2015-4-29 11:41 编辑

Foobar里面的题,抽象出来如下
给一个长度为2-50的list,list里面每个element含有三个元素[a,b,c],每个element的下标为i。需要重新排序这个list使以下的多项式得数最小,如果有多重结果,按照字典顺序排序结果返回第一个
首先设 p = 1 - b/c
多项式为 a_0 + p_0*a_1 + p_0*p_1*a_2 + ... + p_0*...*p_{n-1}*a_n

a,b,c为小于1024正整数,b保证小于c

测试用例:
[[5,1,5],[10,1,2]]
输出 [1, 0], 多项式结果12.5

[[390, 185, 624], [686, 351, 947], [276, 1023, 1024], [199, 148, 250]]
输出 [2, 3, 0, 1] 多项式结果 276.54201990685095 (不是exactly精确因为是float)

已经试过了:

1)搜索剪支,穷举过程中当得数大于当前最大值时候放弃继续穷举  --- 超时
2)插入,每次取一个元素插入到排序好list L 里面,尝试所有可以插入的位置(len(L)+1)放在最好的地方 --- 通过部分test(未通过的不知道是什么。。。)

有没有好的想法啊?谢谢啦!

上一篇:Valid Sudoku 一问
下一篇:刷题走火入魔了怎么办
我的人缘0
ryancooper 发表于 2015-10-24 12:50:52 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
greedy算法,排个序就做完了
回复 支持 1 反对 0

使用道具 举报

全球28万学生4.7分推荐
我的人缘0
Linzertorte 发表于 2015-10-23 13:23:43 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
其实很简单啊。你用两个元素不同的排列得出的结果作个差。
回复 支持 反对

使用道具 举报

我的人缘0
plich 发表于 2015-10-24 07:52:11 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
Linzertorte 发表于 2015-10-23 13:23
其实很简单啊。你用两个元素不同的排列得出的结果作个差。

这样的话相当于是……默认问题没有局部最优解?
回复 支持 反对

使用道具 举报

我的人缘0
shuyangsheng 发表于 2016-1-15 06:58:21 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
ryancooper 发表于 2015-10-24 12:50
greedy算法,排个序就做完了

昨天刚碰到这个题,确实是排个序就完了,不过要注意排序的稳定性。我一开始用的排序不稳定,一半的case没通过,就转头浪费了好多时间在permutation上面。

不过这怎么证明排序的结果是最优的?
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-27 13:29

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表