一道算法题,有兴趣的聊聊思路啊

那位先生_ 发布于 2018/09/17 11:25
阅读 786
收藏 2

加载中
3
ling0
ling0
该评论暂时无法显示,详情咨询 QQ 群:912889742
那位先生_
那位先生_
该评论暂时无法显示,详情咨询 QQ 群:912889742
1
破城歌
破城歌

每次相加第一方案是默认以位数中间分为两个数字相加(每次加完后保证长度最多是上次的一半+1),第二方案是找到相加能凑出最多0的两个数字,两个相加方案相比较取最优

0
foy
foy
该评论暂时无法显示,详情咨询 QQ 群:912889742
foy
foy
回复 @那位先生 : 有的面试是开放性题目,截止时间比较长的啦。
那位先生_
那位先生_
底下的截止期限看不到?
0
那位先生_
那位先生_

不是面试题,只是觉得有意思才发上来,有兴趣的可以说说思路,不需要答案。

0
开源划水
开源划水
该评论暂时无法显示,详情咨询 QQ 群:912889742
那位先生_
那位先生_
太难了
0
l
lotsbug
该评论暂时无法显示,详情咨询 QQ 群:912889742
那位先生_
那位先生_
问题在于第1步的思路。
0
foy
foy
该评论暂时无法显示,详情咨询 QQ 群:912889742
0
d
dwcz

就是匹配出所有两两相加为10的单数字字符。

那位先生_
那位先生_
回复 @dwcz : 我只是针对你第一次的回答说不是寻找相加为10,比如199这个数字,是寻找相加为100的数字。而且也不是10的倍数这么简单,因为210也是10的倍数
d
dwcz
回复 @那位先生 : 你似乎进入误区了。这题人为控制就是第一次。所以,就是控制第一次结果的长度问题。放加号的位置不外乎,一、连加小于10的位置。二、相加为10倍数的。三、控制结果长度的。所以,先要确定相加为十的位置。再就是样本是100000个,非特殊情况,结果中含有0的可能性很低。
那位先生_
那位先生_
回复 @dwcz : 不是相加为10
d
dwcz
回复 @那位先生 : 全部当然没这么简单。但只要分解出子串,剩下就只是排序问题了。
那位先生_
那位先生_
不是这么简单哦
0
雲霏霏
雲霏霏
该评论暂时无法显示,详情咨询 QQ 群:912889742
0
凶熊猫

第一步 去掉0和9 大约去掉了20000个数据 

第二步 1到8 没出现9次 就删除这九个 最多剩下8x8 64个

第三步 方法很多 可以2个元素搭配 18删除 27删除(相加得9或者)

                             三个元素搭配 117 225 882 (相加得18或者9)

                            四个元素搭配 (相加得27 18 9)

那位先生_
那位先生_
不能删掉9,比如199这个,最少要加两次,但是你删掉9之后,直接就有结果了
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部