您在///打高尔夫球有哪些一般技巧?我正在寻找可以应用于代码高尔夫球问题的想法,并且这些想法至少也特定于///(例如,“删除不必要的空格”不是答案)。itflabtijtslwi和Lines的提示是主题,并且在这里也有效。
请为每个答案发布一个提示。
您在///打高尔夫球有哪些一般技巧?我正在寻找可以应用于代码高尔夫球问题的想法,并且这些想法至少也特定于///(例如,“删除不必要的空格”不是答案)。itflabtijtslwi和Lines的提示是主题,并且在这里也有效。
请为每个答案发布一个提示。
Answers:
请注意,这行代码
/Stack/Overflow//x/\//Stack/ignore/DoItyignore
仅打印Overflow
- /ignore
从此以后的部分不包括在输出中,因为///
仅打印第三个斜杠部分中的内容。
但是,替换器仍在考虑它:如果我们在其中插入斜线,情况会发生变化:
/Stack/Overflow//x/\//Stack/ignore/doitxignore
输出为Overflowdoit
,因为将其替换x
为/
有效语法。
在扩展基础并打印中间结果时,请将先前的迭代合并到将来的迭代中
这听起来有点令人费解。我的意思最好用实际答案来描述。此挑战需要以下特定输出:
Steve Ballmer still does not know.
Steve Ballmer still does not know what he did.
Steve Ballmer still does not know what he did wrong.
Steve Ballmer still does not know what he did wrong with mobile.
一种幼稚的解决方案可能是:
/1/Steve Ballmer still does not know//2/ what he did//3/ wrong//4/ with mobile./1.
12.
123.
1234
注意,此时的格局1
,12
,123
...重复?好吧,不是在执行此操作时:
/1/Steve Ballmer still does not know//2/1 what he did//3/2 wrong//4/3 with mobile/1.
2.
3.
4.
再次感谢Martin Ender指出这一点!
如果您有一段///
代码可以处理除一种情况以外的所有情况,那么您可以在代码的边缘使用一个字符来处理这种情况。
示例:一进制将两个数字加在一起,除非第二个数字为7,在这种情况下,只需输出第一个数字。
处理除“第二个数字是7”以外的所有情况的代码:
/+//<INPUT 1>+<INPUT 2>
通过*
在代码末尾添加a ,我们可以通过+0000000*
不做任何替换来处理边缘情况(有必要添加to +
以确保数字不大于7)。确保在输入之前在末尾包含代码以进行清理。
/+0000000*///+///*//<INPUT 1>+<INPUT 2>*
对于“现实世界”示例,我对一些“吉米”问题使用了这个技巧: