Skip to content

Instantly share code, notes, and snippets.

View Vaib215's full-sized avatar
👨‍💻
Coding...

Vaibhav Kumar Singh Vaib215

👨‍💻
Coding...
View GitHub Profile
@Vaib215
Vaib215 / activitySelection.java
Created August 30, 2023 14:49
Greedy Approachs
import java.io.*;
import java.util.*;
// @Author: Vaib
// Activity Selection
// Greedy Algorithm - #1
// Given start and end times of different activites. A person has to select max number of activites that can be done (no two at same time)
class activitySelection {
static void maxActivities(int s[],int e[]){
int activites[][] = new int[s.length][3];
@Vaib215
Vaib215 / deleteInLL.cpp
Created October 5, 2022 18:10
Delete node at index in Linked List
#include<bits/stdc++.h>
using namespace std;
class Node{
public:
int data;
Node* next;
Node(int data){
this->data = data;
this->next = NULL;
@Vaib215
Vaib215 / searchInLL.cpp
Last active October 5, 2022 18:11
Search at a specific index of Linked List
#include<bits/stdc++.h>
using namespace std;
class Node{
public:
int data;
Node* next;
Node(int data){
this->data = data;
this->next = NULL;
@Vaib215
Vaib215 / insertAtTail.cpp
Created October 5, 2022 18:03
Insert new node at tail of Linked List
#include<bits/stdc++.h>
using namespace std;
class Node{
public:
int data;
Node* next;
Node(int data){
this->data = data;
this->next = NULL;
@Vaib215
Vaib215 / insertAtHead.cpp
Created October 5, 2022 18:01
Insert new node at head of linked list.
#include<bits/stdc++.h>
using namespace std;
class Node{
public:
int data;
Node* next;
Node(int data){
this->data = data;
this->next = NULL;
@Vaib215
Vaib215 / infixToPost.cpp
Created September 29, 2022 08:57
Code that converts infix into postfix
#include <bits/stdc++.h>
using namespace std;
int precedence(char k){
if(k == '^') return 3;
else if(k == '/' || k =='*') return 2;
else if(k == '+' || k == '-') return 1;
else return -1;
}
@Vaib215
Vaib215 / trappingRainWater.java
Created September 26, 2022 20:41
Trapping Rainwater => TC -> O(N)
public static int trappedRW(int arr[]){
int n=arr.length, leftMB[] = new int[n], rightMB[] = new int[n],trappedWater=0;
leftMB[0] = arr[0];
rightMB[n-1] = arr[n-1];
for (int i = 1; i < n; i++) {
leftMB[i] = Math.max(leftMB[i-1], arr[i]);
}
for (int i = n-2; i >= 0; i--) {
rightMB[i] = Math.max(rightMB[i+1],arr[i]);
}
@Vaib215
Vaib215 / maxSumKadane.java
Created September 26, 2022 10:24
Kadane's Algorithm => TC -> O(N)
public static void maxSumKadane(int arr[]){
int currSum = 0, maxSum = Integer.MIN_VALUE;
for(int i=0; i< arr.length; i++) {
currSum += arr[i];
if(currSum < 0) currSum = 0;
maxSum = maxSum>currSum? maxSum:currSum;
}
System.out.println(maxSum);
}
@Vaib215
Vaib215 / maxSumSubArr.java
Created September 25, 2022 23:04
Prefix Sum => TC -> O(N^2)
public static void printMaxSumSubArr(int a[]){
int currSum=0, maxSum=Integer.MIN_VALUE, prefix[] = new int[a.length];
prefix[0] = a[0];
for (int i = 1; i < a.length; i++) {
prefix[i] = prefix[i-1] + a[i];
}
for (int i = 0; i < a.length; i++) {
for (int j = i; j < a.length; j++) {
currSum = i==0?prefix[j]:prefix[j]-prefix[i-1];
}
@Vaib215
Vaib215 / printSubArr.java
Last active September 25, 2022 23:05
TC - O(N^3)
public static void printSubArr(int a[]){
int n = a.length;
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) {
System.out.print("[");
for (int k = i; k <= j; k++) {
System.out.print(a[k]+",");
}
System.out.print("], ");
}