由于Stack Exchange的技术限制,标题显示不正确。此挑战的正确标题是
做一个
Word Icicle!
Word Icicle
Word cicle
ord cicle
ord icle
ord i le
or i le
or i l
or l
or
r
当今的挑战是使输入词无法产生冰柱。给定一个完全可打印的ASCII字符串,以及至少2个非空格字符,请执行以下步骤:
打印字符串的当前状态。
用空格替换词法上最小的字符(空格除外)。如果有平局,请替换最左边的字符。
在连续的行上重复直到该字符串仅包含1个非空格字符。
这产生了输入字符串看起来像融化的效果。
I'm Melting!!!
I'm Melting !!
I'm Melting !
I'm Melting
I m Melting
m Melting
m elting
m lting
m ltin
m lt n
m t n
t n
t
规则
经过几次迭代后,您的输出几乎肯定会在每行上都有尾随空格。如果选择截断这些内容,则允许这样做。
您可能只有一个尾随的空行,但没有更多。
请记住,输入可能包含多个空格,但是所有这些空格都被有效地跳过了。例如,输入
a a
应为a a a
如果需要,您可以将输入作为字符串列表。对于输出,您可以返回或打印字符串列表,带换行符的单个字符串或char matrix / 2D数组。通常,我更喜欢宽松的IO格式,因此很可能会允许其他格式,只要它们是一致的并且明确对应于正确的输出即可。如有疑问,请随时提问。与往常一样,允许使用完整的程序或功能。
请记住,这是用任何语言做出最短答案的竞赛!如果您选择用Java回答,请尝试做出最短的Java回答(以字节为单位)。
测试用例
Hello World! -->
Hello World!
Hello World
ello World
ello orld
ello orl
llo orl
lo orl
o orl
o or
or
r
AbCdEfGhIjKlMnOpQrStUvWxYz -->
AbCdEfGhIjKlMnOpQrStUvWxYz
bCdEfGhIjKlMnOpQrStUvWxYz
b dEfGhIjKlMnOpQrStUvWxYz
b d fGhIjKlMnOpQrStUvWxYz
b d f hIjKlMnOpQrStUvWxYz
b d f h jKlMnOpQrStUvWxYz
b d f h j lMnOpQrStUvWxYz
b d f h j l nOpQrStUvWxYz
b d f h j l n pQrStUvWxYz
b d f h j l n p rStUvWxYz
b d f h j l n p r tUvWxYz
b d f h j l n p r t vWxYz
b d f h j l n p r t v xYz
b d f h j l n p r t v x z
d f h j l n p r t v x z
f h j l n p r t v x z
h j l n p r t v x z
j l n p r t v x z
l n p r t v x z
n p r t v x z
p r t v x z
r t v x z
t v x z
v x z
x z
z
PPCG is da BEST -->
PPCG is da BEST
PPCG is da EST
PP G is da EST
PP G is da ST
PP is da ST
P is da ST
is da ST
is da T
is da
is d
is
s
({({})({}[()])}{}) -->
({({})({}[()])}{})
{({})({}[()])}{})
{ {})({}[()])}{})
{ {}) {}[()])}{})
{ {}) {}[ )])}{})
{ {} {}[ )])}{})
{ {} {}[ ])}{})
{ {} {}[ ] }{})
{ {} {}[ ] }{}
{ {} {} ] }{}
{ {} {} }{}
{} {} }{}
} {} }{}
} } }{}
} } } }
} } }
} }
}