剑指offer第40题(c#)
一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
一开始准备用哈希表来解决,但是到后面发现哈希表的一些方法不太熟悉就看了下别的同学的解题大多没有使用哈希表而是以2为单位的下标递增循环;于是还是回去研究哈希表的解法;先上图
首先创建一个哈希表 (用来记录每个数字的次数由于题目特殊所以直接赋值定义哈希表内的内容了) 和列表(用来输出两个单例)
然后遍历一次输入的列表把出现一次的数据记录起来,出现多次的则删除
最后遍历一次哈希表把存下来的数据放置到输出列表(由于这样的来的数据是从大到小反序的不符合题目输出要求,再Sort排序一次)最后输出。