FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Java/DynamicProgramming/EggDropping.java at master · bewithme/Java · GitHub
bewithme
/
Java
Public
forked from
TheAlgorithms/Java
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
Java
/
DynamicProgramming
/
EggDropping.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
45 lines (33 loc) · 1.14 KB
Breadcrumbs
Java
/
DynamicProgramming
/
EggDropping.java
Copy path
File metadata and controls
45 lines (33 loc) · 1.14 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package
DynamicProgramming
;
/** DynamicProgramming solution for the Egg Dropping Puzzle */
public
class
EggDropping
{
// min trials with n eggs and m floors
private
static
int
minTrials
(
int
n
,
int
m
) {
int
[][]
eggFloor
=
new
int
[
n
+
1
][
m
+
1
];
int
result
,
x
;
for
(
int
i
=
1
;
i
<=
n
;
i
++) {
eggFloor
[
i
][
0
] =
0
;
// Zero trial for zero floor.
eggFloor
[
i
][
1
] =
1
;
// One trial for one floor
}
// j trials for only 1 egg
for
(
int
j
=
1
;
j
<=
m
;
j
++)
eggFloor
[
1
][
j
] =
j
;
// Using bottom-up approach in DP
for
(
int
i
=
2
;
i
<=
n
;
i
++) {
for
(
int
j
=
2
;
j
<=
m
;
j
++) {
eggFloor
[
i
][
j
] =
Integer
.
MAX_VALUE
;
for
(
x
=
1
;
x
<=
j
;
x
++) {
result
=
1
+
Math
.
max
(
eggFloor
[
i
-
1
][
x
-
1
],
eggFloor
[
i
][
j
-
x
]);
// choose min of all values for particular x
if
(
result
<
eggFloor
[
i
][
j
])
eggFloor
[
i
][
j
] =
result
;
}
}
}
return
eggFloor
[
n
][
m
];
}
public
static
void
main
(
String
args
[]) {
int
n
=
2
,
m
=
4
;
// result outputs min no. of trials in worst case for n eggs and m floors
int
result
=
minTrials
(
n
,
m
);
System
.
out
.
println
(
result
);
}
}
Back
|
FazBrowse Home
|
New Git URL