从1-100这个数组中查找被删除的数字

这是一个逻辑题,原数组是1到100的升序数组,删除一个数字后其他数字依次前移。思路1是通过元素与下标之间的差值找出删除数字;思路2是通过数组元素之和与理想总和的差值;思路3是利用二分查找的变形来解决。
摘要由CSDN通过智能技术生成

题目:

有一个存有1-100的升序的数组。也就是存有1,2,3,4……100这100个数字的数组。如果从中删除一个数字,那么该数字后面的所有数字依次前移。现在已经删除了一个数字,问如何找出删除的是哪个数字。


介绍:

这是本人视屏面试的一道逻辑题,当时可能由于紧张也可能是因为视屏面试听不太清楚,题目的理解出现了错误,我当时的理解是存储比如1,3,5,6这样的不连续的数字。所以花了比较长的时间想了一些其他的办法,但是不允许其他的辅助,所以行不通。所以之后问清楚是1,2,3这样的,那么就简单多了。


思路1:

由于数组存储的是1,2,3,4这样的有规律的数组,所以这些数组中的元素和下标之间有着紧密的联系。所以没有移位的元素与下标之间相差1,移位了的差2.所以从头向后一次查找,找到第一个元素和下标相差2的位置,该下标加1就是被删除的数。


思路2:

因为只要有一个数被移动了࿰

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值