float,
значит надо переделать алгоритм, чтобы итераций было не больше чем символов в строке. Посмотрите мой пост выше. |
with-love-from-siberia, приведите код, а я придумаю контрпример (не забудьте протестировать для начала на уже имеющихся примерах).
|
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') );
:) |
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') );
:) |
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') );
|
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'));
:D |
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'));
|
ааай. Ребят. Сложность в том, что при достаточной длине строки, на определённом этапе создаются перекрывания. Их число подстрока-1(так вроде), т.е. функция зависит от параметров.
monolithed else блок там не для красоты стоит |
Цитата:
Ну может быть завтра напрягусь (-: |
Цитата:
|
| Часовой пояс GMT +3, время: 10:41. |