Код работает в консоли, но не в Hackerank - PullRequest
0 голосов
/ 23 декабря 2018

Мой код работает в консоли, но дает неверный результат в хакерке. Проблема: Вывести из строки все подстроки, являющиеся палиндромами

function isPalindrome(str) {

  var len = str.length;
  var mid = Math.floor(len / 2);

  for (var i = 0; i < mid; i++) {
    if (str[i] !== str[len - 1 - i]) {
      return false;
    }
  }
  //Had to use this lengthy function because in
  //str == str.split('').reverse().join('');
  //I was getting error that split is not a function
  return true;
}

function scatterPalindrome(str) {
  var result = [],
    c = 0;

  for (let i = 0; i < str.length; i++) {
    for (let j = i + 1; j < str.length + 1; j++) {
      result.push(str.slice(i, j));
    }
  }
  for (let i = 0; i < result.length; i++) {
    let k = result[i];
    if (isPalindrome(k))
      c++;
  }
  return c; // the answer was always 1
}
console.log(scatterPalindrome("abc"));

вход: «abc»

ожидаемый выход: 3

фактический выход: 1

1 Ответ

0 голосов
/ 27 декабря 2018

Поскольку я не могу комментировать, поэтому отвечая здесь, я скажу, что вы должны проверить, если они упомянули, что есть много тестовых случаев, и в каждом тестовом случае вы должны выполнить запрос, тогда это разумно, что ваш вывод и ихвывод не будет соответствовать

    take no.of testcases input
    while(testcases counter doesn't reach 0 )
           take string input
           call your function for answer for input and print
           decrement testcases counter
...