Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12

Определить, одинакова ли большая часть двух строк

27.03.2024, 08:49. Показов 1417. Ответов 30

Требуется определить, совпадает ли большая часть у двух строк.

Например:
"adfsd test string" и "test string3121" - true (совпадает большая часть строки)
"foo, bar, baz" и "qux, foo, quux" - false (совпадает меньшая часть строки)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.03.2024, 08:49
Ответы с готовыми решениями:

Вычислить площадь N эллипсов, у которых большая ось одинакова: равна T, а длины меньших осей образуют последовательность
Прошу помочь с написание полного кода решения. Заранее СПАСИБО. Вычислить площадь N эллипсов, у которых большая ось одинакова равна...

Как быть в случае, если много форм на которых часть элементов одинакова
Как быть в случае, если много форм на которых часть элементов одинакова? Будет порядка 50 форм, возможно будет меньше, но верхняя часть...

Найти самую длинную общую часть двух строк
заданы две строки.Найти самую длинную их,общую часть.

30
 Аватар для voraa
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
28.03.2024, 13:46
Цитата Сообщение от Именч Посмотреть сообщение
А он удаляет teststring 12
Где написано, что надо что то удалять?
Надо найти самые длинные подстроки, которые совпадают в обоих строках.
И без разницы, буквы там, цифры, иероглифы... Просто строки из любых символов и подстроки из них же.
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
28.03.2024, 14:02
Оки

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function findAndRemoveSimilar(str1, str2) {
    let similar = "";
    for (let i = 0; i < str1.length; i++) {
        if (str2.includes(str1[i])) {
            similar += str1[i];
            str2 = str2.replace(str1[i], '');
        }
    }
    return str1.length - similar.length >= str2.length;
}
 
console.log(findAndRemoveSimilar("adfsd test string", "test string3121"));  // => true
console.log(findAndRemoveSimilar("foo, bar, baz", "qux, foo, quux")); // => false
console.log(findAndRemoveSimilar ('teststring 123', 'teststring 124'))  // => true
console.log(findAndRemoveSimilar ('123 teststring', 'teststring 124'))  // => true
Добавлено через 6 минут
Оптимизированная версия функции

JavaScript
1
2
3
4
5
6
7
8
function findAndRemoveSimilar(str1, str2) {
    let similarLength = "";
    for (let i = 0; i < str1.length; i++) {
        if (str2.includes(str1, i))
            similarLength += str1[i].length;
    }
    return str1.length - similarLength >= str2.length;
}
0
bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12
28.03.2024, 14:05  [ТС]
Цитата Сообщение от Именч Посмотреть сообщение
А он удаляет teststring 12
и правильно делает
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
28.03.2024, 14:08
У меня бесплатная, старая версия GPT она плохо пишет код. Пока пинок под попу не дашь. Но в принципе справляется, после пинка, даже в оптимизацию
0
 Аватар для voraa
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
28.03.2024, 14:25
Цитата Сообщение от Именч Посмотреть сообщение
Оптимизированная версия функции
Вы хоть сами тестируете, или просто пишете, что в голову придет?
JavaScript
1
2
3
4
5
6
7
8
9
10
function findAndRemoveSimilar(str1, str2) {
    let similarLength = "";
    for (let i = 0; i < str1.length; i++) {
        if (str2.includes(str1, i))
            similarLength += str1[i].length;
    }
    return str1.length - similarLength >= str2.length;
}
 
console.log (findAndRemoveSimilar('abcdef', 'xyz'))  // => true
Добавлено через 14 минут
Я думаю, что с этой ЖПТ пора завязывать

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function findAndRemoveSimilar(str1, str2) {
    let similar = "";
    for (let i = 0; i < str1.length; i++) {
        if (str2.includes(str1[i])) {
            similar += str1[i];
            str2 = str2.replace(str1[i], '');
        }
    }
    return str1.length - similar.length >= str2.length;
}
 
console.log(findAndRemoveSimilar("adfsd test string", "test string3121"));  // => true
console.log(findAndRemoveSimilar("foo, bar, baz", "qux, foo, quux")); // => false
console.log(findAndRemoveSimilar ('teststring 123', 'teststring 124'))  // => true
console.log(findAndRemoveSimilar ('123 teststring', 'teststring 124'))  // => true
console.log(findAndRemoveSimilar ('123 teststring', 'teststring 1245'))  // => FALSE
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
28.03.2024, 14:26
Лад, этот я уже проверил на выполнение

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function findAndRemoveSimilar(str1, str2) {
  let similarLength = 0;
    for (let i = 0; i < str1.length; i++) {
        if (str2.includes(str1[i])) {
            similarLength += str1[i].length;
            str2 = str2.replace(str1[i], '');
        }
    }
    return similarLength > 0 && str1.length - similarLength >= str2.length;
}
 
 
console.log(maxmatch ('', ''))  // => false
console.log(findAndRemoveSimilar('abcdef', 'xyz'))  // => false
console.log(findAndRemoveSimilar("adfsd test string", "test string3121"));  // => true
console.log(findAndRemoveSimilar("foo, bar, baz", "qux, foo, quux")); // => false
console.log(findAndRemoveSimilar ('teststring 123', 'teststring 124'))  // => true
console.log(findAndRemoveSimilar ('123 teststring', 'teststring 124'))  // => true
0
 Аватар для voraa
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
28.03.2024, 14:40
Цитата Сообщение от Именч Посмотреть сообщение
Лад, этот я уже проверил на выполнение
И
JavaScript
1
console.log(findAndRemoveSimilar ('123 teststring', 'teststring 1245'))
проверили?

Добавлено через 2 минуты
А
JavaScript
1
console.log(findAndRemoveSimilar ('abc', 'xyz'))
проверяли?

Добавлено через 9 минут
Не так
JavaScript
1
console.log(findAndRemoveSimilar('abcdefg', 'axyz'))
Проверяли?
0
168 / 146 / 32
Регистрация: 03.09.2018
Сообщений: 499
28.03.2024, 14:52
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function findAndRemoveSimilar(str1, str2) {
  let similarLength = 0;
    for (let i = 0; i < str1.length; i++) {
        if (str2.includes(str1[i])) {
            similarLength += str1[i].length;
            str2 = str2.replace(str1[i], '');
        }
    }
  return Math.abs(Math.min(str1.length, str2.length)) - similarLength < 0;
}
 
 
 
console.log(findAndRemoveSimilar('', ''))  // => false
console.log(findAndRemoveSimilar('abcdef', 'xyz'))  // => false
console.log(findAndRemoveSimilar ('abc', 'xyz')) // => false
console.log(findAndRemoveSimilar('abcdefg', 'axyz')) // => false
console.log(findAndRemoveSimilar('abcdefg erogkoerg', 'axyz erogkoerg'))  // => true
console.log(findAndRemoveSimilar("adfsd test string", "test string3121"));  // => true
console.log(findAndRemoveSimilar("foo, bar, baz", "qux, foo, quux")); // => false
console.log(findAndRemoveSimilar ('teststring 123', 'teststring 124'))  // => true
console.log(findAndRemoveSimilar ('123 teststring', 'teststring 124'))  // => true
console.log(findAndRemoveSimilar ('123 teststring', 'teststring 1245'))  // => FALSE
Добавлено через 1 минуту
Ну ты наваливай тестов, вдруг ещё что не так. Я их закину в бот, он подкорректирует

В принципе тесты это самое главное, по ним можно всё что угодно реконструировать
0
 Аватар для voraa
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
28.03.2024, 15:28
Цитата Сообщение от Именч Посмотреть сообщение
Ну ты наваливай тестов, вдруг ещё что не так.
Я так и не понял, какую задачу вы с ботом решаете.
Сформулируйте ее

Я решаю задачу: Существует ли в строках s1 и s2 подстрока, по которой они совпадают в большей части.
Можно переформулировать.
Существует ли в s1 и s2 одинаковая подстрока, которая длиннее половины длин строк s1 и s2

Ваш пример дает
JavaScript
1
console.log(findAndRemoveSimilar('axbxcxdxexf', 'abcdef')) // => true
Какая самая длинная подстрока, по которой они совпадают?

Добавлено через 12 минут
Вот эти выражения
similarLength += str1[i].length;

Math.abs(Math.min(str1.length, str2.length))

Тоже бот писал?
0
bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12
28.03.2024, 15:32  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
половины длин строк s1 и s2
Не половины длин строк, а длин оставшейся части строки!
0
 Аватар для voraa
1296 / 1280 / 190
Регистрация: 21.01.2024
Сообщений: 5,928
28.03.2024, 15:34
Цитата Сообщение от nekit270 Посмотреть сообщение
Не половины длин строк, а длин оставшейся части строки!
А это не одно и тоже?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.03.2024, 15:34

Найти самую длинную общую часть двух заданных строк
Заданы две строки. Найти самую длинную их общую часть.

Одинакова ли совершаемая данной силой работа в двух инерциальных системах отсчета?
Насколько я понял, одинакова. Только вот преподаватель требует объяснения, как пояснить? Заранее благодарен.

Вылетает большая часть игр
В декабре 2015 года купил себе компьютер и столкнулся с проблемами. Вылетают практически все игры: Diablo 3, X COM 2, WoW: Draenor. Не...

Не грузится большая часть сайтов
Не работает большая часть сайтов. Оператор Мтс уверяет что это проблема не с его стороны, предлагает проверить на вирусы. Проверка курейтом...

Большая часть игр не запускается
Здравствуйте. У меня проблема с запуском игр. Проблеме этой уже год/полтора. В один прекрасный день большая часть игр перестали...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли. Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
155. Min Stack Задача: Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1). Методы: NewMinStack() *MinStack — инициализация Push(val int) —. . .
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool Worker Pool — паттерн конкурентной обработки задач в Go. Суть: фиксированное количество горутин-воркеров читают задачи из общего канала и пишут результаты в общий канал результатов. . . .
[golang] Pipeline
alhaos 08.06.2026
Pipeline Pipeline — паттерн конкурентной обработки данных в Go. Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь lIs4oanZS9Y
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru