https://github.com/nxlogn/leetcode-hot-100/tree/main/huawei/2025
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function () {
// 读取一行输入
const line = await readline();
if (!line) return;
// 按空格分隔字符
const parts = line.trim().split(/\s+/);
// 如果输入不足,直接结束
if (parts.length < 1) {
return;
}
// 第一个是主配方
const T = parts[0];
// 剩下的是配料包数组
const candidates = parts.slice(1);
// 用 map 来统计兼容配料包的出现次数
const validCounts = new Map();
for (const pack of candidates) {
// 判断: pack 必须是 T 的前缀
if (T.startsWith(pack)) {
validCounts.set(pack, (validCounts.get(pack) || 0) + 1);
}
}
// 如果没有兼容的配料包,输出 null
if (validCounts.size === 0) {
console.log("null");
return;
}
// 将 map 转为数组排序
const sortedPacks = Array.from(validCounts.entries());
// 按照字符串长度从长到短排序
sortedPacks.sort((a, b) => b[0].length - a[0].length);
// 按格式输出
for (const [pack, count] of sortedPacks) {
console.log(`${pack} ${count}`);
}
}()



京公网安备 11010502036488号