Skip to content

Commit

Permalink
Added codes for 9 April
Browse files Browse the repository at this point in the history
  • Loading branch information
Tanmay-312 committed Apr 9, 2024
1 parent f0d1593 commit d0c23ea
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 0 deletions.
55 changes: 55 additions & 0 deletions GeeksForGeeks/April/09-4-24/GFG.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
//{ Driver Code Starts
// Initial Template for Java
import java.io.*;
import java.util.*;

class GfG {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
while (t-- > 0) {
int m = sc.nextInt();
int n = sc.nextInt();
int points[][] = new int[m][n];
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++) points[i][j] = sc.nextInt();
Solution ob = new Solution();
System.out.println(ob.minPoints(points, m, n));
}
}
}
// } Driver Code Ends


// User function Template for Java

class Solution
{
public int minPoints(int points[][], int m, int n)
{
// Your code goes here
int[][] dp = new int[m][n];

dp[m-1][n-1] = Math.max(1, 1 - points[m-1][n-1]);

for (int i = m - 1; i >= 0; i--)
{
for (int j = n - 1; j >= 0; j--)
{
if (i == m - 1 && j == n - 1)
continue;

int minPointsRequired = Integer.MAX_VALUE;

if (i + 1 < m)
minPointsRequired = Math.min(minPointsRequired, dp[i + 1][j]);

if (j + 1 < n)
minPointsRequired = Math.min(minPointsRequired, dp[i][j + 1]);

dp[i][j] = Math.max(1, minPointsRequired - points[i][j]);
}
}
return dp[0][0];
}
}
2 changes: 2 additions & 0 deletions GeeksForGeeks/April/09-4-24/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Time complexity - O(n*m)
Space complexity - O(n*m)
2 changes: 2 additions & 0 deletions LeetCode/April/09-4-24/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Time complexity - O(n)
Space complexity - O(1)
17 changes: 17 additions & 0 deletions LeetCode/April/09-4-24/Solution.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
class Solution
{
public int timeRequiredToBuy(int[] tickets, int k)
{
int ans = 0;

for (int i = 0; i < tickets.length; ++i)
{
if (i <= k)
ans += Math.min(tickets[i], tickets[k]);
else
ans += Math.min(tickets[i], tickets[k] - 1);
}

return ans;
}
}

0 comments on commit d0c23ea

Please sign in to comment.