给定一个含 n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算 法,找出数组中未出现的最小正整数。例如,数组{-5, 3, 2, 3}中未出现的最小正整数是 1;数组{1, 2, 3}中未出现的最小正整数是 4。要求: (1)给出算法的基本设计思想。  (2)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。  (3)说明你所设计算法的时间复杂度和空间复杂度。-笔试面试资料

这是qklbishe.com第19173 篇笔试面试资料
提供答案分析,通过本文《给定一个含 n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算 法,找出数组中未出现的最小正整数。例如,数组{-5, 3, 2, 3}中未出现的最小正整数是 1;数组{1, 2, 3}中未出现的最小正整数是 4。要求: (1)给出算法的基本设计思想。  (2)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。  (3)说明你所设计算法的时间复杂度和空间复杂度。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

给定一个含 n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算 法,找出数组中未出现的最小正整数。例如,数组{-5, 3, 2, 3}中未出现的最小正整数是 1;数组{1, 2, 3}中未出现的最小正整数是 4。要求:
(1)给出算法的基本设计思想。 
(2)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。 
(3)说明你所设计算法的时间复杂度和空间复杂度。
给定一个含 n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算 法,找出数组中未出现的最小正整数。例如,数组{-5, 3, 2, 3}中未出现的最小正整数是 1;数组{1, 2, 3}中未出现的最小正整数是 4。要求:    (1)给出算法的基本设计思想。     (2)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。     (3)说明你所设计算法的时间复杂度和空间复杂度。 区块链毕设学生763152612号
int min_elem(int A[],n) {     int *s=new int [n+1];     for(int i=0;i<n+1;i++)     {          s[i]=0;     }     for(i=0;i<n;i++)     {         if(A[i]>0&&A[i]<n+1)s[A[i]-1]=1;     }     for(i=0;i<n;i++)     {         if(s[i]==0)return i+1;     }     return n+1; }

2021-12-17 15:42:22 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给定一个含 n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算 法,找出数组中未出现的最小正整数。例如,数组{-5, 3, 2, 3}中未出现的最小正整数是 1;数组{1, 2, 3}中未出现的最小正整数是 4。要求: (1)给出算法的基本设计思想。  (2)根据设计思想,采用 C 或 C++语言描述算法,关键之处给出注释。  (3)说明你所设计算法的时间复杂度和空间复杂度。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情