fix: 2 more challenges

This commit is contained in:
dadgam3er 2024-11-24 19:24:23 -05:00
parent fb5f689af3
commit 8292c346aa
7 changed files with 114 additions and 0 deletions

View 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
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

View 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>

View 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>

View 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>

View 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 }));
}
}

View 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>