1256. Encode Number

LeetCode medium оригинал: C# #csharp #leetcode #medium #string

Даны список слов, список отдельных букв (могут повторяться) и оценка каждого символа. Верните максимальную оценку любого правильного набора слов, образованного с помощью заданных букв (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).

😎

Вакансии для этой задачи

Показаны активные вакансии с пересечением по тегам задачи.

Все вакансии
Активных вакансий пока нет.