题意整理 给定整数n作为楼层数,再给定整数k作为棋子数。 如果想找到棋子不会摔碎的最高层数,考虑最差的情况下,至少需要扔多少次棋子。 方法一(暴力递归) 1.解题思路 递归终止条件:0层时,不需要确定,返回0次;一枚棋子时,需要一个一个地试,返回n。 递归如何推进:假设当前为第i层,要么棋子碎了,需要扔dfs(i-1,k-1)+1次,要么棋子没碎,需要扔dfs(n-i,k)+1次,取较大者。并且统计所有层的情况,取最小的次数。 每一层返回什么:返回当前层的最小次数。 当层数n较大时,这种方法会报栈深度溢出的错误。 2.代码实现 import java.util.*; pu...