Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 20.02.2011, 22:36
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

float,
значит надо переделать алгоритм, чтобы итераций было не больше чем символов в строке. Посмотрите мой пост выше.
Ответить с цитированием
  #42 (permalink)  
Старый 20.02.2011, 22:37
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

with-love-from-siberia, приведите код, а я придумаю контрпример (не забудьте протестировать для начала на уже имеющихся примерах).
Ответить с цитированием
  #43 (permalink)  
Старый 20.02.2011, 23:21
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

String.prototype.at = function(str) {
    var tl = this.length, sl = str.length;
    for(var i=j=0; i<tl; i++) {
        if(this[i] == str[j] && sl == ++j) return ++i-j;
    }
    return -1;
}

var s1 = 'aababababaO_o', l1 = 'ababaO', l2 = 'abac', l3 = 'aa', l4 = 'O_o';

alert([
    [s1.at(l1), s1.indexOf(l1)],
    [s1.at(l2), s1.indexOf(l2)],
    [s1.at(l3), s1.indexOf(l3)],
    [s1.at(l4), s1.indexOf(l4)]
].join('\n') );



Последний раз редактировалось monolithed, 20.02.2011 в 23:28.
Ответить с цитированием
  #44 (permalink)  
Старый 20.02.2011, 23:33
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

String.prototype.at = function(str) {
    var tl = this.length, sl = str.length;
    for(var i=j=0; i<tl; i++) {
        if(this[i] == str[j] && sl == ++j) return ++i-j;
    }
    return -1;
}

var s1 = 'aababababaO_o', l1 = 'aabaO', l2 = 'abac', l3 = 'aa', l4 = 'O_o';

alert([
    [s1.at(l1), s1.indexOf(l1)],
    [s1.at(l2), s1.indexOf(l2)],
    [s1.at(l3), s1.indexOf(l3)],
    [s1.at(l4), s1.indexOf(l4)]
].join('\n') );

Ответить с цитированием
  #45 (permalink)  
Старый 20.02.2011, 23:34
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

String.prototype.at = function(str) {
    var tl = this.length, sl = str.length;
    for(var i=0, j=0; i<tl; i++) {
        if(this[i] == str[j] && sl == ++j) return ++i-j;
    }
    return -1;
}

var s1 = 'ababc', l1 = 'abac';

alert([
    [s1.at(l1), s1.indexOf(l1)]
].join('\n') );
Ответить с цитированием
  #46 (permalink)  
Старый 20.02.2011, 23:41
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

String.prototype.at = function(str) {
    var tl = this.length, sl = str.length;
    for(var i=j=0; i<tl; i++) {
        if(this[i] == str[j] && sl == ++j && sl != i) return ++i-j;
    }
    return -1;
}

var s1 = 'ababc', l1 = 'abac', l2 = 'bc', l3 = 'aa', l4 = 'O_o';
 
alert([
    [s1.at(l1), s1.indexOf(l1)],
    [s1.at(l2), s1.indexOf(l2)],
    [s1.at(l3), s1.indexOf(l3)],
    [s1.at(l4), s1.indexOf(l4)]
].join('\n'));



Последний раз редактировалось monolithed, 20.02.2011 в 23:46.
Ответить с цитированием
  #47 (permalink)  
Старый 20.02.2011, 23:48
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

String.prototype.at = function(str) {
    var tl = this.length, sl = str.length;
    for(var i=j=0; i<tl; i++) {
        if(this[i] == str[j] && sl == ++j && sl != i) return ++i-j;
    }
    return -1;
}

var s1 = 'aabac', l1 = 'abac';
 
alert([
    [s1.at(l1), s1.indexOf(l1)]
].join('\n'));
Ответить с цитированием
  #48 (permalink)  
Старый 20.02.2011, 23:50
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

ааай. Ребят. Сложность в том, что при достаточной длине строки, на определённом этапе создаются перекрывания. Их число подстрока-1(так вроде), т.е. функция зависит от параметров.
monolithed
else блок там не для красоты стоит
Ответить с цитированием
  #49 (permalink)  
Старый 21.02.2011, 00:10
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

Сообщение от B@rmaley.e><e
приведите код
Давайте наоборот. Простите, но мне уже лениво сегодня заниматься задачками для 1-2 курса спецфак-та. Я привел неполное словесное описание алгоритма. Предлагаю форуму завершить его формулировку и все вопросы отпадут.

Ну может быть завтра напрягусь (-:
Ответить с цитированием
  #50 (permalink)  
Старый 21.02.2011, 00:34
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Цитата:
Я привел неполное
Что-то в нём я не заметил путь обхода проблемы описанной выше.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачка на смекалку subzey Общие вопросы Javascript 52 16.08.2013 21:39
задачка по геометрии js lammeR Общие вопросы Javascript 16 02.02.2011 16:01
Небольшая задачка Maksim jQuery 4 30.09.2009 19:43
задачка на подумать x-yuri Оффтопик 16 11.06.2009 12:39
Задачка: вывод div по ссылке alt5000 Элементы интерфейса 19 28.10.2008 21:21