1884. Egg Drop With 2 Eggs and N Floors Medium

@problem@discussion
#Math#Dynamic Programming



1/**
2 * [1884] Egg Drop With 2 Eggs and N Floors
3 *
4 * You are given two identical eggs and you have access to a building with n floors labeled from 1 to n.
5 * You know that there exists a floor f where 0 <= f <= n such that any egg dropped at a floor higher than f will break, and any egg dropped at or below floor f will not break.
6 * In each move, you may take an unbroken egg and drop it from any floor x (where 1 <= x <= n). If the egg breaks, you can no longer use it. However, if the egg does not break, you may reuse it in future moves.
7 * Return the minimum number of moves that you need to determine with certainty what the value of f is.
8 *  
9 * Example 1:
10 * 
11 * Input: n = 2
12 * Output: 2
13 * Explanation: We can drop the first egg from floor 1 and the second egg from floor 2.
14 * If the first egg breaks, we know that f = 0.
15 * If the second egg breaks but the first egg didn't, we know that f = 1.
16 * Otherwise, if both eggs survive, we know that f = 2.
17 * 
18 * Example 2:
19 * 
20 * Input: n = 100
21 * Output: 14
22 * Explanation: One optimal strategy is:
23 * - Drop the 1st egg at floor 9. If it breaks, we know f is between 0 and 8. Drop the 2nd egg starting from floor 1 and going up one at a time to find f within 8 more drops. Total drops is 1 + 8 = 9.
24 * - If the 1st egg does not break, drop the 1st egg again at floor 22. If it breaks, we know f is between 9 and 21. Drop the 2nd egg starting from floor 10 and going up one at a time to find f within 12 more drops. Total drops is 2 + 12 = 14.
25 * - If the 1st egg does not break again, follow a similar process dropping the 1st egg from floors 34, 45, 55, 64, 72, 79, 85, 90, 94, 97, 99, and 100.
26 * Regardless of the outcome, it takes at most 14 drops to determine f.
27 * 
28 *  
29 * Constraints:
30 * 
31 * 	1 <= n <= 1000
32 * 
33 */
34pub struct Solution {}
35
36// problem: https://leetcode.com/problems/egg-drop-with-2-eggs-and-n-floors/
37// discuss: https://leetcode.com/problems/egg-drop-with-2-eggs-and-n-floors/discuss/?currentPage=1&orderBy=most_votes&query=
38
39// submission codes start here
40
41impl Solution {
42    pub fn two_egg_drop(n: i32) -> i32 {
43        0
44    }
45}
46
47// submission codes end
48
49#[cfg(test)]
50mod tests {
51    use super::*;
52
53    #[test]
54    fn test_1884() {
55    }
56}
57


Back
© 2025 bowen.ge All Rights Reserved.