1 | // 当前状态为 (K 个鸡蛋,N 层楼) |
如果鸡蛋碎了,那么鸡蛋的个数K应该减一,搜索的楼层区间应该从[1..N]变为[1..i-1]共i-1层楼
如果鸡蛋没碎,那么鸡蛋的个数K不变,搜索的楼层区间应该从 [1..N]变为[i+1..N]共N-i层楼
最坏情况下扔鸡蛋的次数,所以鸡蛋在第i层楼碎没碎,取决于哪种情况的结果更大
🔽🔽🔽
1 | Map<String, Integer> map = new HashMap<>(); |
结果超时了,可以将for循环改成二分搜索
1 | Map<String, Integer> map = new HashMap<>(); |