使用O(n)时间和O(1)空间从数组中查找丢失的数字



我们有一个从1到100的数字数组。缺少两个数字。用O(n)时间和O(1)空间求这两个数。注意,数组中的那些数字没有排序。示例:设有一个数组[4,missing,1,missing,2]正如你所看到的,缺失的是3和5。假设从1到5的数字和两个数字的数组丢失。实际上,它是[4,1,2]没有3和5。

所以,我不知道如何解决这个问题。你们中有人能帮我吗?我的编程语言是c++。这是阵列:

{24、44、19、92、1、18、28、50、88、5、52、11、76、39、82、85、65、93、98、4、72、94、45、59、48、46、47、67、87、99、14、70、80、25、20、22、21、41、77、73、2、13、36、6、27、81、29、62、8、35、32、49、10、100、90、78、30、34、51、9、43、58、26、64、15、17、57、12、56、61、79、75、97 84,42,55,83,91,86,38,89,96,74,23,7,68,60,16,66,69,53,3,71,37,63,54,95

对数组进行排序,迭代数组字段,如果i与向量中的字段push_back(i)不同,则与每一步递增的计数器i进行比较。

最新更新