bat-пропагандист
 Аватар для nekit270
981 / 183 / 76
Регистрация: 07.12.2022
Сообщений: 454
Записей в блоге: 12

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

27.03.2024, 08:49. Показов 1461. Ответов 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 / 1283 / 190
Регистрация: 21.01.2024
Сообщений: 5,955
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 / 1283 / 190
Регистрация: 21.01.2024
Сообщений: 5,955
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 / 1283 / 190
Регистрация: 21.01.2024
Сообщений: 5,955
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 / 1283 / 190
Регистрация: 21.01.2024
Сообщений: 5,955
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 / 1283 / 190
Регистрация: 21.01.2024
Сообщений: 5,955
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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения. https:/ / habr. com/ ru/ sandbox/ 295048/ начало и оглавление - Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0) Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона Уважаемые коллеги! В продолжение. . .
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru