问答题X 纠错

参考答案:

1)题目要求算法时间上尽可能高效,因此采用空间换时间的办法。分配一个用于标记的数组B[n],用来记录A中是否出现了1~n中的正整数,B[0]对应正整数1,B[n-1]对应正整数n,初始化B中全部为0。由于A中含有n个整数,因此可能返回的值是1~n+1,当A中n个数恰好为1~n时返回n+1。当数组A中出现了小于等于0或者大于n的值时,会导致1~n中出现空余位置,返回结果必然在1~n中,因此对于A中出现了小于等于0或者大于n的值可以不采取任何操作。 
经过以上分析可以得出算法流程:从A[0]开始遍历A,若0<A[i]<=n,则令B[A[i]-1]=1;否则不做操作。对A遍历结束后,开始遍历数组B,若能查找到第一个满足B[i]==0的下标i,返回i+1即为结果,此时说明A中未出现的最小正整数在1~n之间。若B[i]全部不为0,返回i+1(跳出循环时i=n,i+1等于n+1),此时说明A中未出现的最小正整数是n+1。
2)

3)时间复杂度:遍历A一次,遍历B一次,两次循环内操作步骤为O(1)量级,因此时间复杂度为O(n)。空间复杂度:额外分配了B[n],空间复杂度为O(n)。

查答案就用赞题库小程序 还有拍照搜题 语音搜题 快来试试吧
无需下载 立即使用

你可能喜欢

单项选择题

减法指令“sub R1,R2,R3”的功能为“(R1)-(R2)→ R3”,该指令执行后将生成进位/借位标志CF和溢出标志OF。若(R1)= FFFF FFFFH,(R2)= FFFF FFF0H,则该减法指令执行后,CF与OF分别为()

单项选择题

无需转换即可由SMTP协议直接传输的内容是()

单项选择题

UDP协议实现分用(demultiplexing)时所依据的头部字段是()

单项选择题

某路由表中有转发接口相同的4条路由表项,其目的网络地址分别为35.230.32.0/21、35.230.40.0/21、35.230.48.0/21和35.230.56.0/21,将该4条路由聚合后的目的网络地址为()

单项选择题

路由器R通过以太网交换机S1和S2连接两个网络,R的接口、主机H1和H2的IP地址与MAC地址如下图所示。若H1向H2发送1个IP分组P,则H1发出的封装P的以太网帧的目的MAC地址、H2收到的封装P的以太网帧的源MAC地址分别是()

单项选择题

主机甲采用停-等协议向主机乙发送数据,数据传输速率是3kbps,单向传播延时是200ms,忽略确认帧的传输延时。当信道利用率等于40%时,数据帧的长度为()

单项选择题

IEEE 802.11无线局域网的MAC协议CSMA/CA进行信道预约的方法是()

单项选择题

下列选项中,不属于物理层接口规范定义范畴的是()

单项选择题

下列TCP/IP应用层协议中,可以使用传输层无连接服务的是()

单项选择题

在下列同步机制中,可以实现让权等待的是()

赞题库

赞题库-搜题找答案

(已有500万+用户使用)


  • 历年真题

  • 章节练习

  • 每日一练

  • 高频考题

  • 错题收藏

  • 在线模考

  • 提分密卷

  • 模拟试题

无需下载 立即使用

版权所有©考试资料网(ppkao.com)All Rights Reserved