PHP速学视频免费教程(入门到精通)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
我经常通过练习Kata来提升编程能力。我发现这种方法对提高我的开发技能、编码效率以及最重要的算法思维非常有效。
Kata练习强化了最佳实践并培养了快速思考的能力。我认为,持续的练习能够建立起某种记忆模式和技巧,让编码过程更加快速和直观。
我是在codewars.com网站上发现这些挑战的,强烈推荐这个平台。
无需过多解释,直接来看例子:
我的解决方案如下:
<code class="java">import java.util.stream.Collectors; import java.util.stream.IntStream; public class Accumul { public static String accum(final String text) { if (text == null) { throw new IllegalArgumentException(); } return IntStream.range(0, text.length()) .mapToObj(i -> singleCharToWord(text.charAt(i), i)) .collect(Collectors.joining("-")); } private static String singleCharToWord(final char charAt, final int index) { return String.valueOf(charAt).toUpperCase() + IntStream.range(1, index + 1) .mapToObj(i -> String.valueOf(charAt).toLowerCase()) .collect(Collectors.joining()); } }</code>
测试用例:
<code class="java">public class AccumulTest { @Test public void testWhenGivenNullAsInput() { assertThrows(IllegalArgumentException.class, () -> { Accumul.accum(null); }); } @Test public void test() { assertEquals("", Accumul.accum("")); assertEquals("A", Accumul.accum("a")); assertEquals("A-Bb", Accumul.accum("ab")); assertEquals("Z-Pp-Ggg-Llll-Nnnnn-Rrrrrr-Xxxxxxx-Qqqqqqqq-Eeeeeeeee-Nnnnnnnnnn-Uuuuuuuuuuu", Accumul.accum("ZpglnRxqenU")); assertEquals("N-Yy-Fff-Ffff-Sssss-Gggggg-Eeeeeee-Yyyyyyyy-Yyyyyyyyy-Llllllllll-Bbbbbbbbbbb", Accumul.accum("NyffsGeyylB")); assertEquals("M-Jj-Ttt-Kkkk-Uuuuu-Bbbbbb-Ooooooo-Vvvvvvvv-Qqqqqqqqq-Rrrrrrrrrr-Uuuuuuuuuuu", Accumul.accum("MjtkuBovqrU")); assertEquals("E-Vv-Iii-Dddd-Jjjjj-Uuuuuu-Nnnnnnn-Oooooooo-Kkkkkkkkk-Mmmmmmmmmm-Mmmmmmmmmmm", Accumul.accum("EvidjUnokmM")); assertEquals("H-Bb-Iii-Dddd-Eeeee-Vvvvvv-Bbbbbbb-Xxxxxxxx-Nnnnnnnnn-Cccccccccc-Ccccccccccc", Accumul.accum("HbideVbxncC")); } }</code>
以上就是全部内容,感谢您的阅读!
已抢7052个
抢已抢93908个
抢已抢14681个
抢已抢51581个
抢已抢193373个
抢已抢86947个
抢