【发布时间】:2020-12-01 20:52:34
【问题描述】:
我正在参加为期 30 天的 C# 代码编写。我在 8.Day(字典和地图)。我去运行我的代码,测试用例 0、测试用例 2、测试用例 3、测试用例 4 成功但测试用例 1 不成功。 Hackerrank 向我展示了错误“运行时错误”。我不明白这个错误。谢谢。
挑战:Hackerrank 第 8 天字典和地图
谁能弄清楚为什么我在 Python Hackerrank 30 Days of Challenge 中的这个练习的代码没有通过测试用例 1?
这是挑战:
目标 今天,我们正在学习使用 Map 或 Dictionary 数据结构的键值对映射。查看教程标签以获取学习材料和教学视频!
任务 给定姓名和电话号码,组装一个电话簿,将朋友的姓名映射到他们各自的电话号码。然后,您将获得未知数量的姓名来查询您的电话簿。对于每个查询,将电话簿中的相关条目以 name=phoneNumber 形式打印在新行上;如果找不到条目,则打印 Not found 。
注意:您的电话簿应该是 Dictionary/Map/HashMap 数据结构。
输入格式
第一行包含一个整数,表示电话簿中的条目数。随后的每一行都以单行上的空格分隔值的形式描述了一个条目。第一个值是朋友的名字,第二个值是一个 -digit 电话号码。
在电话簿条目的行之后,有未知数量的查询行。每行(查询)都包含一个要查找的内容,您必须继续阅读行,直到没有更多输入为止。
注意:名称由小写英文字母组成,仅是名字。
输出格式
每次查询换行,如果姓名在电话簿中没有对应条目,则打印未找到;否则,请以 name=phoneNumber 格式打印完整信息。
这是我的代码:
using System;
using System.Collections.Generic;
using System.IO;
class Solution
{
static void Main(String[] args)
{
var n = int.Parse(Console.ReadLine());
var phoneBook = new Dictionary<string, int>();
for (var i = 0; i < n; i++)
{
var entry = Console.ReadLine().Split(' ');
var name = entry[0];
var phone = int.Parse(entry[1]);
phoneBook.Add(name, phone);
}
for (var i = 0; i < n; i++)
{
var name = Console.ReadLine();
if (phoneBook.ContainsKey(name))
{
var phone = phoneBook[name];
Console.WriteLine($"{name}={phone}");
}
else Console.WriteLine("Not found");
}
}
}
输入(标准输入)
100000
unayklejwm 53561825
ahiff 57272140
frlrecdfxo 28001354
aeccxyrbek 21112785
mlgdk 12405837
iyiyycfngr 23841264
subnwvrqdp 77688226
vhypdqfbdy 67846211
lcnbh 86026675
lxbjpmuhis 85475547
enfifbprov 20172436
hnjctgslxf 18125412
slfoglbvah 47530087
mpsrcmrkon 44365224
jnpslqvlkx 88071512
liwyjbsfkk 50646067
kyrkhaikuf 18535535
ubvfx 43551151
krger 80787433{-truncated-}
预期输出
Not found
ipwpabdefa=14170412
Not found
toykmviqbo=11872347
mooetebtqt=70658483
fbubawkkhq=10613664
Not found
ejqxn=77321147
Not found
Not found
Not found
Not found
xgfpx=58118174
Not found
odacddldrk=73267266
Not found
iakxugylkc=41875647
Not found
djtelththc=20278224
Not found{-truncated-}
结论
Runtime Error :/
我应该如何修复我的代码?
欢迎提出任何建议。
【问题讨论】:
标签: c# dictionary maps