fix: 2 more challenges
This commit is contained in:
parent
fb5f689af3
commit
8292c346aa
55
EggDropping/EggDropping.java
Normal file
55
EggDropping/EggDropping.java
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EggDropping
|
||||||
|
* You are given k identical eggs and you have access to a building with n
|
||||||
|
* floors labeled from 1 to n.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* Return the minimum number of moves that you need to determine with certainty
|
||||||
|
* what the value of f is.
|
||||||
|
*
|
||||||
|
* Example 1:
|
||||||
|
*
|
||||||
|
* Input: k = 1, n = 2
|
||||||
|
* Output: 2
|
||||||
|
* Explanation:
|
||||||
|
* Drop the egg from floor 1. If it breaks, we know that f = 0.
|
||||||
|
* Otherwise, drop the egg from floor 2. If it breaks, we know that f = 1.
|
||||||
|
* If it does not break, then we know f = 2.
|
||||||
|
* Hence, we need at minimum 2 moves to determine with certainty what the value
|
||||||
|
* of f is.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class EggDropping {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner scanner = new Scanner(System.in);
|
||||||
|
|
||||||
|
int a = scanner.nextInt();
|
||||||
|
int b = scanner.nextInt();
|
||||||
|
scanner.close();
|
||||||
|
System.out.println(minMoves(a, b));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int minMoves(int k, int n) {
|
||||||
|
// if n > f ==> eggs break
|
||||||
|
// if n < f ==> eggs are good
|
||||||
|
int min = 0;
|
||||||
|
int[][] dp = new int[n + 1][k + 1];
|
||||||
|
while (dp[min][k] < n) {
|
||||||
|
min++;
|
||||||
|
for (int i = 1; i <= k; i++) {
|
||||||
|
dp[min][i] = dp[min - 1][i - 1] + dp[min - 1][i] + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return min;
|
||||||
|
}
|
||||||
|
}
|
||||||
3
GamePlatform/.idea/.gitignore
vendored
Normal file
3
GamePlatform/.idea/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
6
GamePlatform/.idea/misc.xml
Normal file
6
GamePlatform/.idea/misc.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_23" default="true" project-jdk-name="openjdk-23" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
8
GamePlatform/.idea/modules.xml
Normal file
8
GamePlatform/.idea/modules.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/GamePlatform.iml" filepath="$PROJECT_DIR$/GamePlatform.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
6
GamePlatform/.idea/vcs.xml
Normal file
6
GamePlatform/.idea/vcs.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
25
GamePlatform/FinalSpeed.java
Normal file
25
GamePlatform/FinalSpeed.java
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/**
|
||||||
|
* FinalSpeed
|
||||||
|
*/
|
||||||
|
public class FinalSpeed {
|
||||||
|
|
||||||
|
public static double calculateFinalSpeed(double initialSpeed, int[] inclinations) {
|
||||||
|
/*
|
||||||
|
* double finalSpeed = 0;
|
||||||
|
* for (int speed : inclinations) {
|
||||||
|
* double temp = initialSpeed;
|
||||||
|
* initialSpeed = (-1 * speed) + temp;
|
||||||
|
* finalSpeed = initialSpeed;
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
double finalSpeed = initialSpeed;
|
||||||
|
for (int speed : inclinations) {
|
||||||
|
finalSpeed -= speed;
|
||||||
|
}
|
||||||
|
return finalSpeed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println(calculateFinalSpeed(60.0, new int[] { 0, 30, 0, -45, 0 }));
|
||||||
|
}
|
||||||
|
}
|
||||||
11
GamePlatform/GamePlatform.iml
Normal file
11
GamePlatform/GamePlatform.iml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
Loading…
Reference in New Issue
Block a user