Даны список слов, список отдельных букв (могут повторяться) и оценка каждого символа. Верните максимальную оценку любого правильного набора слов, образованного с помощью заданных букв (words[i] не может быть использовано два или более раз). Не обязательно использовать все символы в буквах, каждая буква может быть использована только один раз. Оценка букв 'a', 'b', 'c', ... , 'z' задаются значениями score[0], score[1], ... , score[25] соответственно.
Пример:
Input: num = 23
Output: "1000"
C# решение
сопоставлено/оригиналpublic class Solution {
public string Encode(int num) {
if (num == 0) return "";
return Convert.ToString(num - 1, 2);
}
}
C++ решение
auto-draft, проверить перед отправкой#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public string Encode(int num) {
if (num == 0) return "";
return Convert.ToString(num - 1, 2);
}
}
Java решение
сопоставлено/оригиналpublic class Solution {
public String encode(int num) {
if (num == 0) return "";
return Integer.toBinaryString(num - 1);
}
}
JavaScript решение
сопоставлено/оригиналfunction encode(num) {
if (num === 0) return "";
return (num - 1).toString(2);
}
Algorithm
На основе предоставленной таблицы можно выявить закономерность для преобразования целого числа n в строку f(n)
Из таблицы видно, что последовательность строк соответствует последовательности чисел в двоичной системе счисления за исключением начального значения n = 0.
Таким образом, можно вывести, что:
Для каждого значения n > 0, функция f(n) представляет собой двоичное представление числа (n - 1).
😎
Вакансии для этой задачи
Показаны активные вакансии с пересечением по тегам задачи.