算法题——黑客入侵点定位

本文介绍了美团2020年的一道算法题,涉及黑客入侵点定位问题。通过对比分析,提出用块状链表的思想来解决,类似于楼层扔鸡蛋问题。初始思路包括二分法,但因检测限制无法适用。接着运用归纳法和动态规划法进行求解,最后讨论了动态规划的优化策略,降低时间复杂度。
摘要由CSDN通过智能技术生成

美团2020算法题——黑客入侵点定位

题目描述如下:

集团内部有一核心机密项目,共由150个代码模块按顺序串行执行组成(示例:模块1->模块2->…模块N…->模块149->模块150)。偶然一天,某一个模块突然被黑客入侵(当前模块也称入侵点)。因为内部已经有预防措施,现存两款从不同角度设计的反入侵检测程序,但同时也有一定检测限制:
1.输入:顺序代码段,必须以模块1开始(比如:模块1->模块2->…模块39)
2:输出:True-输入包含入侵点,False-输入不包含入侵点
3.每款检测程序可以运行多次:可多次返回False,但仅能返回一次True(由于入侵的对抗性存在,一旦输出True即报废,后续检测功能失效)
4.同一时刻只能有一款检测程序运行,每检测一次耗时10分钟
现在希望仅利用现有的两款反入侵检测程序,在最短的时间内确保可以快速定位入侵点。具体需要如何设计检测流程,时间是多久。

思路

前期思路

这道题其实与另外一道经典题目“楼层扔鸡蛋”的本质是一样的,我自己在大二参加蓝桥杯的时候遇到过这道题,当时不会做,跟这道题一样,第一反应就是二分法,但其实这里面有个问题,二分法对于尝试的次数是没有限制的,而这两道题不一样,一旦失败一次,剩下那次唯一的机会就得从头一个一个枚举,所以二分法在这里是行不通的。

介绍一个数据结构——块状链表。我们都知道&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值