麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

C語言數組中重復的數字分析及方法

2020-02-24 14:31:34
字體:
來源:轉載
供稿:網友

數組中的數字是連續的,但數組中的一個數字重復,要怎么找出這個數呢?武林技術頻道就這個問題簡單為大家介紹C語言數組中重復的數字分析及方法,希望對你學習這方面知識有幫助!

C語言 數組中重復的數字解決方法:

題目:在一個長度為n的數組里的所有數字都在0-n-1的 范圍內。數組中某些數字是重復的,但是不知道有幾個數字重復了,也不知道每個數字重復了幾次。請找出數組中任意一個重復的數字。例如,如果輸入長度為7的數組{2,3,1,0,2,5,3},那么對應的輸出是重復的數字2或者3.

解法1:對于數組進行排序,之后對于已經排序的數組進行遍歷便可知道數組中重復的數字。

時間復雜度;O(nlogn);

解法2:建立一個大小為O(N)的哈希表,遍歷數組中的元素并判斷是否存在于哈希表中。若不存在于哈希表中,將這個元素加入哈希表之中并且繼續掃描,若這個元素存在于哈希表中,則:找到了數組中重復的一個數字;

時間復雜度:O(N),空間復雜度:O(N);

解法3:對于給定的數組進行重排。對于下標為i的元素:如果a[i] == i,掃描下一個元素;如果不相等將a[i]與a[a[i]]進行比較,若是相等則找到了一個重復的數字,若沒有,那么對于數字進行交換,依次進行。

?

int DuplicateInArray(int arr[],int size) {   int i=0;   while(i<size)   {     if(arr[i] == i)       ++i;     else     {       if(arr[i] != arr[arr[i]])       {swap(arr[i],arr[arr[i]]);}       else       {return arr[i];}     }   }   return -1; } 以上就是小編收集的C語言數組中重復的數字分析及方法!其實這個行業的發展前景也非常的不錯,小編建議對這方面感興趣的朋友可以抓住機會學習一下哦!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: av电影在线免费观看 | 色淫网站免费视频 | 爱操影视 | 一区二区久久久久草草 | 黄网站色成年大片免费高 | 久久艹国产精品 | 国内精品伊人久久久久网站 | 草草久 | 成人午夜免费网站 | 一级一级一级毛片 | 久久综合综合久久 | 国产成人自拍av | 亚洲综人网 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 久久成人免费网站 | 国产一区二区三区视频在线观看 | 4p嗯啊巨肉寝室调教男男视频 | 成人青青草 | 李宗瑞国产福利视频一区 | 黄色av网| 久久亚洲成人网 | 视频一区二区三区中文字幕 | 黄色羞羞视频在线观看 | 五月天堂av91久久久 | 成人福利在线看 | 亚洲第一成人av | 久久艹国产精品 | 国产精品成人久久 | 在线观看免费视频麻豆 | 国内精品久久久久久久影视红豆 | 久久精品综合视频 | 369看片你懂的小视频在线观看 | 国产无遮挡一区二区三区毛片日本 | 黄色羞羞视频在线观看 | 狠狠久久| 大号bbwassbigav头交 | 369看片你懂的小视频在线观看 | 亚洲网在线观看 | 欧美日韩在线播放 | 黄污视频在线看 | 午夜视频你懂的 |