挑战
有没有看过那些电影预告片标题(即火星人,星际等),它们之间的字母之间的巨大间隙慢慢散开?
面临的挑战是通过在字母之间插入适当数量的空格,在给定的字符串,间距倍数和方向的情况下重新创建这种效果。
例
输入:“ INTERSTELLAR”,间隙乘数:1.0,方向:向内增加
Output: I N T E R S T E L L A R
间距为:[1、2、3,...,3、2、1];用“。”替换空格。为了更好地展示间距:
I.N..T...E....R.....S......T.....E....L...L..A.R
输入:“ INTERSTELLAR”,间隙乘数:0.5,方向:向内增加
Output: IN T E R S T E L L AR
间距乘以0.5,因此我们从整数除法得到[0,1,1,2,... 2,1,1,0];使用'。':
IN.T.E..R..S...T..E..L.L.AR
输入:“ CODEGOLF”,间隙乘数:2.0,方向:向外增加
Output: C O D E G O L F
间距乘以2,向外增加,因此得到[8,6,4,2,4,6,8]; 替换为“。”:
C........O......D....E..G....O......L........F
输入:“ CODEGOLF”,间隙乘数:0.4,方向:向外增加
Output: C O DEGO L F
间距乘以0.4,向外增加,因此得到[1,1,0,0,0,1,1]; 替换为“。”:
C.O.DEGO.L.F
规则
- 接受3个输入:字符串,间隙乘数和方向
- 如果输入字符串的长度是奇数(甚至是空格数),例如“ HELLO”,则最里面的两个空格的间距应相同
H E L L O
- 可以根据需要解析方向和间隙乘数,例如,可以将-2用作“向内增加,乘数为2”,将1用作“向外增加,乘数为1”,等等。
- 只需要使用空格,但是如果可以自定义字符填充,则是一个额外的好处。
参考动画
打高尔夫球吧!
@NoOneIsHere谢谢!方向和比率解析非常灵活,按照规则3,您可以使用0,1来指定方向,甚至可以将两个参数组合为一个,例如+4表示4向,-0.5表示0.5向外,等等,只需要定义即可解决方案。
—
祖卡伯格'16
这是一个非常有趣的挑战!欢迎来到该网站。:)
—
DJMcMayhem
我不明白为什么将差距比2解释为向外增长,而1和0.5都向内增长。
—
xnor
@xnor哦,不要为混乱而后悔,方向与比率无关,方向和比率是单独的参数,2.0的向内看起来像:
—
Zukaberg
C..O....D......E........G......O....L..F
Increasing
为来1 => Inward, 0 => Outward
反之亦然。