![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
qq_36545870
这个作者很懒,什么都没留下…
展开
-
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
没有使用牛客网上大神的算法,直接使用的map来暴力解决。 第一次出现内存超出限制,以此来记录一下,在遍历map结构的时候,使用的内存远比所给遍历vector向量大,导致答案错误。如图: //错误代码 void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) { map<int,int> ma...原创 2020-04-15 11:19:02 · 242 阅读 · 0 评论 -
牛客网 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如
用map记录一下key和value即可 #include<map> class Solution { public: int MoreThanHalfNum_Solution(vector<int> array) { if(array.size()==0){ return 0; } map<...原创 2020-04-13 11:12:29 · 508 阅读 · 0 评论