Ad
  • Custom User Avatar

    Nested loop alters the outer loop counter so it 'fasts forward', it therefore does not cause combinatorial wasted effort.

    Your code has ~4 extra conditionals so is unlikely to perform any better.

  • Custom User Avatar

    Есть несколько советов:

    1. Всегда пытайся писать код без continue/break в циклах;
    2. Пустые if блоки? Есть же "!" для того чтобы обернуть булеан значение;
    3. try/catch инструкция? Очень сильно мягко будет сказать что она тут "лишняя". И тоже, такие эксепшены как ArrayIndexOutOfBoundsException не следует перехватывать ибо это RuntimeException (на уровне с NullPointerException) которые нужны что бы показать что у тебя в коде неправильная логика скорее чем для того что бы их перехватывали
    4. Нужно писать код изначально нацеливаясь что его кто-то будет читать, да так что бы без коментариев было ясно что в методе происходит. Да и подобные коментарии часто используються для отсылок к бизнес-логике, а не к обьяснениям того что творится в коде. В 99.9% случаев достаточно doc comment для public методов
  • Custom User Avatar

    too many loops when one-loop aproach is possible here^^

  • Custom User Avatar

    Please, avoid recursion if possible and in this task it is possible ^^ (loop inside loop too)

  • Custom User Avatar

    Please, try to avoid loop inside loop if possible and in this task it is possible^)

  • Custom User Avatar

    This comment is hidden because it contains spoiler information about the solution

  • Custom User Avatar

    That is deliberate. It means the index matches the dice value. More readable IMO. YMMV.

  • Custom User Avatar

    no reason to use trim() as method capitalize() will return empty string in result if input is empty

  • Custom User Avatar
  • Custom User Avatar

    Also try to avoid switchcase statement.

  • Custom User Avatar

    actualy u dont use one of the cell of n[] array is n[0]. In this case u can use int[6] and in cycle use n[d-1]++