CodingBat sameEnds работает со строками

Никокейхо

Я пытаюсь решить эту проблему из CodingBat, но не понимаю, почему она не работает с входной строкой «Привет!».

Это мой код, а под ним - результаты, которые я получаю.

public String sameEnds(String string) {
        String result;
        int strLen = string.length();
        boolean isOdd = (strLen % 2 != 0);
        String start = string.substring(0, strLen / 2);
        String end;
        if (isOdd) {
            end = string.substring(strLen / 2 + 1);
        } else {
            end = string.substring(strLen / 2);
        }
        int i = 0;
        while (!start.equals(end) && i <= start.length()) {
            start = start.substring(0, start.length() - i);
            end = end.substring(i, end.length());
            i++;
        }
        if (start.equals(end)) {
            result = start;
        } else {
            result = "";
        }
        return result;
    }

Я получаю результаты

Всегда учусь

Ваша проблема в том, что вы одновременно увеличиваете iи используете start.length()-i. Когда iравно 1, startпеременная становится на один символ короче. Но когда iравно 2, start.length()это уже на единицу меньше оригинала, и теперь вы вычитаете 2 символа, так что теперь вы пропустили один. То же самое и с endпеременной. Не используйте одновременно увеличение iи изменение длины строк.

Чтобы исправить это, не меняйте оригинал startи endпеременные. Сделайте что-нибудь вроде этого:

    String sTmp = start;
    String eTmp = end;
    while (!sTmp.equals(eTmp) && i <= start.length()) {
        sTmp = start.substring(0, start.length() - i);
        eTmp = end.substring(i, end.length());
        i++;
    }
    if (sTmp.equals(eTmp)) {
        result = sTmp;
    } else {
        result = "";
    }
    return result;

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Défi Codingbat : solution d'API de flux sameEnds

рекурсивное упражнение по codingbat

Рекурсия codingbat

Codingbat strDist: упражнение на рекурсию

twoTwo загадка от CodingBat

Практический вопрос CodingBat - строки Python

Java Codingbat notAlone - почему он не работает для этого конкретного примера

проблема вычитания рекурсии от CodingBat.com

Есть ли более простое решение для Codingbat fix45?

codingbat Проблема: close_far | провалив только один тест | пятка

Défi Codingbat : maxBlock

Я не понимаю, почему этот код работает (Codingbat Array2 tenRun)

Array-2 zeromax codingbat

Проблема CodingBat string_bits решена с помощью цикла Swit for

Есть ли более простой способ сделать string_match из CodingBat в Python?

CodingBat-Excercise: возвращает истину, если данный массив содержит несчастливую 1 в первых 2 или последних 2 позициях в массиве.

CodingBat AP-1,任务号。4?

Как распечатать результат из функции (мое расширение вопроса Codingbat: Warmup-1> near_hundred)

Есть ли более простой способ сделать rotate_left3 на CodingBat Python?

Codingbat challenge: mirrorEnds Stream API Solution

Я получаю сообщение об ошибке Time Out, когда отправляю свой код на CodingBat Python (https://codingbat.com/prob/p118406)

list index out of range - CodingBat Problem - Has22

CodingBat split53; Confused about the right way to use returns

CodingBat Python make_chocolate code failing in "other tests"

Défi Codingbat : solution d'API zeroFront Stream

Défi Codingbat : solution d'API de flux sumNumbers

Défi Codingbat : mirrorEnds utilisant l'API Stream

Défi Codingbat : solution d'API de flux zeroMax

Codingbat チャレンジ: notAlone ストリーム API ソリューション

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  5. 5

    How to click an array of links in puppeteer?

  6. 6

    Merging legends in plotly subplot

  7. 7

    ViewPager2 мигает / перезагружается при смахивании

  8. 8

    Отчеты Fabric Debug Craslytic: регистрация, отсутствует идентификатор сборки, применить плагин: io.fabric

  9. 9

    How to normalize different curves drawn with geom = "step" when using stat_summary

  10. 10

    无法通过Vue在传单中加载pixiOverlay

  11. 11

    как я могу удалить vue cli 2?

  12. 12

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  13. 13

    SQL Вычтите две строки друг от друга в одном столбце, чтобы получить результат

  14. 14

    Elasticsearch - Нечеткий поиск не дает предложения

  15. 15

    Single legend for Plotly subplot for line plots created from two data frames in R

  16. 16

    Описание моего типа Parser как серии преобразователей монад

  17. 17

    Как изменить цвета запятых и скобок в VS Code

  18. 18

    Сброс значения <input type = "time"> в Firefox

  19. 19

    Почему прокси в vue.config.js 404

  20. 20

    Как установить параметр -noverify с gradle ktx для робоэлектрических тестов Android?

  21. 21

    В чем разница между ifstream, ofstream и fstream?

популярныйтег

файл