题目描述
请在给定的数组中查找一个特定的数字,如果该数字出现多次,请输出第一次出现的位置。正确的输入描述:
多组测试,每组第一行输入1个整数n(n<20),第二行输入n个整数,第三行输入1个整数m输出描述:
查找在第二行的n个整数中第一次出现数字m的下标位置并输出,如果没有找到则输出No,下标从0开始正确的示例1
输入:
3
4 5 6
5
4
2 2 2 2
2
输出:
1
0解题遇到的问题:
在编写完代码后,在题目所给出的示例上进行测试是可以通过的,但是提交题解时却是遇到各种问题,但却又无法从反馈中获取有用的信息,主要还是没有反馈未通过的测试用例。在经过不知道多少次的提交之后,我终于确信是测试用例的问题,于是,我凭着自己的直觉和对题目中输入描述的推测,重新修改了代码,终于是AC了!!!!提交历程
C# 代码:
using System; class Program{ static void Main(){ string input; string[] tokens; while((input = Console.ReadLine()) != null){ input = Console.ReadLine(); tokens = input.Split(); input = Console.ReadLine(); string res = "No"; for(int i = 0; i < tokens.Length; i++) if(tokens[i] == input){ res = i.ToString(); break; } Console.WriteLine(res); } } }
个人感受:
巨难受!不知道问题的原因,也不想copy其他AC的答案,因为其他答案并没有用C#写的,毕竟我是用C#,也不知道为什么其他语言按照错误的输入描述也能AC,可能是在输入这块C#和其他语言不同吧,我也不清楚。总之,总算是解决了!更新
通过向工作人员反应后已经将题目错误的部分修改了,为了让大家知道题目错误的部分是什么样的,就贴一下当时拍的没修正之前的题目照片: