Skip to content

Commit

Permalink
Added codes for 11 June
Browse files Browse the repository at this point in the history
  • Loading branch information
Tanmay-312 committed Jun 11, 2024
1 parent 5b404dc commit fcd9a48
Show file tree
Hide file tree
Showing 4 changed files with 111 additions and 0 deletions.
87 changes: 87 additions & 0 deletions GeeksForGeeks/June/11-6-24/GFG.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
//{ Driver Code Starts
import java.io.*;
import java.util.*;

class IntArray {
public static int[] input(BufferedReader br, int n) throws IOException {
String[] s = br.readLine().trim().split(" ");
int[] a = new int[n];
for (int i = 0; i < n; i++) a[i] = Integer.parseInt(s[i]);

return a;
}

public static void print(int[] a) {
for (int e : a) System.out.print(e + " ");
System.out.println();
}

public static void print(ArrayList<Integer> a) {
for (int e : a) System.out.print(e + " ");
System.out.println();
}
}

class GFG {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t;
t = Integer.parseInt(br.readLine());
while (t-- > 0) {

int n;
n = Integer.parseInt(br.readLine());

int x;
x = Integer.parseInt(br.readLine());

int y;
y = Integer.parseInt(br.readLine());

int[] arr = IntArray.input(br, n);

int[] brr = IntArray.input(br, n);

Solution obj = new Solution();
long res = obj.maxTip(n, x, y, arr, brr);

System.out.println(res);
}
}
}

// } Driver Code Ends



class Solution
{
public static long maxTip(int n, int x, int y, int[] arr, int[] brr)
{
// code here
int a[][] = new int[n][2];
for(int i=0; i<n; i++)
{
a[i][0] = arr[i];
a[i][1] = brr[i];
}
Arrays.sort(a, (o1,o2) -> Math.abs(o2[0] - o2[1]) - Math.abs(o1[0] - o1[1]));

long ans=0;
for(int i[] : a)
{
if((i[0] > i[1] && x > 0) || (y == 0))
{
ans += i[0];
x--;
}
else
{
ans += i[1];
y--;
}
}

return ans;
}
}
2 changes: 2 additions & 0 deletions GeeksForGeeks/June/11-6-24/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Time complexity - O(n*logn)
Space complexity - O(n)
2 changes: 2 additions & 0 deletions LeetCode/June/11-6-24/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Time complexity - O(n)
Space complexity - O(n)
20 changes: 20 additions & 0 deletions LeetCode/June/11-6-24/Solution.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
class Solution {
public int[] relativeSortArray(int[] arr1, int[] arr2) {
int[] ans = new int[arr1.length];
int[] count = new int[1001];
int i = 0;

for (int a : arr1)
++count[a];

for (int a : arr2)
while (count[a]-- > 0)
ans[i++] = a;

for (int num = 0; num < 1001; ++num)
while (count[num]-- > 0)
ans[i++] = num;

return ans;
}
}

0 comments on commit fcd9a48

Please sign in to comment.