Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy
Контакт для рекламы: @sendme_ads
Post #1494
957
Задача: 748. Shortest Completing Word
Сложность: easy
Вам дан целочисленный массив nums, в котором наибольшее целое число уникально. Определите, является ли наибольший элемент массива по крайней мере в два раза больше всех остальных чисел в массиве. Если да, то верните индекс самого большого элемента, в противном случае верните -1.
Пример:
👨💻 Алгоритм:
1⃣Извлечь все буквы из licensePlate, игнорируя цифры и пробелы, и создать словарь для подсчета частоты каждой буквы.
2⃣Пройти по массиву words, проверяя каждое слово на соответствие требованиям.
3⃣Найти самое короткое завершающее слово среди подходящих.
😎 Решение:
Ставь 👍 и забирай 📚 Базу знаний
Сложность: easy
Вам дан целочисленный массив nums, в котором наибольшее целое число уникально. Определите, является ли наибольший элемент массива по крайней мере в два раза больше всех остальных чисел в массиве. Если да, то верните индекс самого большого элемента, в противном случае верните -1.
Пример:
Input: licensePlate = "1s3 PSt", words = ["step","steps","stripe","stepple"]
Output: "steps"
👨💻 Алгоритм:
1⃣Извлечь все буквы из licensePlate, игнорируя цифры и пробелы, и создать словарь для подсчета частоты каждой буквы.
2⃣Пройти по массиву words, проверяя каждое слово на соответствие требованиям.
3⃣Найти самое короткое завершающее слово среди подходящих.
😎 Решение:
var shortestCompletingWord = function(licensePlate, words) {
function getCharCount(s) {
const count = {};
for (const char of s.toLowerCase()) {
if (/[a-z]/.test(char)) {
count[char] = (count[char] || 0) + 1;
}
}
return count;
}
const licenseCount = getCharCount(licensePlate);
function isCompletingWord(word, licenseCount) {
const wordCount = {};
for (const char of word) {
wordCount[char] = (wordCount[char] || 0) + 1;
}
for (const [char, cnt] of Object.entries(licenseCount)) {
if ((wordCount[char] || 0) < cnt) {
return false;
}
}
return true;
}
let result = null;
for (const word of words) {
if (isCompletingWord(word, licenseCount)) {
if (result === null || word.length < result.length) {
result = word;
}
}
}
return result;
};Ставь 👍 и забирай 📚 Базу знаний
- 💊 1



