Skip to content

SurajPratap10/DSA

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

431 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Topics


patterns
PATTERN
math
MATHS
bit magic
BIT MAGIC
array
ARRAY
string
STRING
matrix
MATRIX
sorting
SORTING
SEARCHING
SEARCHING
hashing
HASHING
stack
STACK
queue
QUEUE
linked list
LINKED LIST
recursion
RECURSION
backtracking
BACKTRACKING
tree
TREE
graph
GRAPH
greedy
GREEDY
divide&conqure
DIVIDE AND CONQURE
dp
DP

PATTERNS


Qn Solution Qn Solution
1.PY 1.PY 18.PY 18.PY
2.PY 2.PY 19.PY 19.PY
3.PY 3.PY 20.PY 20.PY
4.PY 4.PY 21.PY 21.PY
5.PY 5.PY 22.PY 22.PY
6.PY 6.PY 23.PY 23.PY
7.PY 7.PY 24.PY 24.PY
8.PY 8.PY 25.PY 25.PY
9.PY 9.PY 26.PY 26.PY
10.PY 10.PY 27.PY 27.PY
11.PY 11.PY 28.PY 28.PY
12.PY 12.PY 29.PY 29.PY
13.PY 13.PY 30.PY 30.PY
14.PY 14.PY 31.PY 31.PY
15.PY 15.PY 32.PY 32.PY
16.PY 16.PY 33.PY 33.PY
17.PY 17.PY 34.PY 34.PY
35.PY 35.PY 36.PY 36.PY

MATH


Problems Solution
ABSOLUTE VALUE ABSOLUTE_VAL.PY
ADDITION UNDER MODULE ADDITION_UNDER_MOD.PY
CELCUISE TO FERENHITE CELCUISE_TO_FERENHITE.PY
DIGIT COUNT PROBLEM DIGIT_COUNT_PROBLEM.PY
DIGIT IN FACTORIAL DIGIT_IN_FACTORIAL.PY
EXACTLY THREE DEVISOR EXACTLY_3_DIVISIOR.PY
FIND FACOTRIAL factorial.py
FIND FIBONACCI fibonacci.py
FIND GP TURM GP_TURM.PY
FIND LCM LCM.PY
MOD MUL INVERSE MOD_MULTIPLICATIVE_INVERSE.PY
PRIME NUMBER PRIME.PY

ARRAY


Problems Solution
ARRANGE ARRAY IN O(1) ARRANGE_ARRAY_0(1).PY
ARRAY N ROTATION ARRAY_N_ROTATION.PY
FIND EQUILIBRIAM POINT FIND_EQUILIBRIAM.PY
FIND IMMIDIATE SMALLER FIND_IMMIDIATE_SMALLER_X.PY
FIND TRANSITION POINT FIND_TRANSITION_POINT.PY
FIND REPEATING ELEMENT FIRST_REPEATING_ELE.PY
LEADER IN ARRAY LEADER_IN_ARRAY.PY
MERGE WITHOUT EXTRA SPACE Merge_Without_Extra_Space.py
REMOVE DUPLICATE REMOVE_DUPLI.PY
REVERSE ARRAY IN GROUP REVERSE_ARR_IN_GROUP.PY
SUBARRAY WITH GIVEN SUM SUBARRAY_WITH_GIVEN_SUM.PY
TRAPPING RAIN WATER TRAPPING_WATER.PY
WAVE ARRAY WAVE_ARRAY.PY
KADANE 1D ARRAY KADANE'S 1D_N.PY
KADANE 1D ARRAY KADANE'S 1D_N2.PY
KADANE 1D ARRAY KADANE'S 1D_N3.py
KADANE'S ALGORITHM FOR 2D ARRAY KADANE'S.PY
WHO HAS A MAJORITY WHO_HAS_MAJORITY.PY
DUPLICATE ZEROS DUPLICATE_ZEROS.PY
DELETE ITEM FROM ARRAY DELETE_ITEM_FROM_ARR.PY
NO OF GOOD PARIS NO_OF_GOOD_PAIRS.PY
TWO NUM SUM TWO_NUM_SUM.PY
SMALLEST DIFFERENCE SMALLEST_DIFFERENCE.PY
MEJORITY ELEMENT N/2 PROBLEM MAJORITY_ELEMENT.PY
LONGEST PEAK LONGEST_PEAK.PY
SUM OF ALL ODD LENGTH SUBARRAY Sum_of_All_Odd_Length_Subarrays.PY

STRING


Problems Solution
ANAGRAM ANAGRAM.PY
BINARY CHECK BINARY_CHECK.PY
CONVERT TO ROMAN CONVERT_ROMAN.PY
ISOMORPHIC ISOMORPHIC.PY
KMP SOLUTION KMP_SOLUTION.PY
LONGEST SUBSTRING WITHOUT REPEATING CHARACTER LONGEST_SUBSTRING_WIHTOUT_REPE.PY
NAIVE SOLUTION NAIVE_SOLUTION.PY
REVERSE WORD REVERSE_WORD.py
SUM LARGE INT SUM_LARGE_INT.PY
VALIDATE IP VALIDATE_IP.PY

STACK


Problems Solution
STACK STACK.PY
STACK USING LINKED LIST STACK_USING_LINKED_LIST.PY
MAXIMUM RECTANGULAR AREA IN HISTOGRAM Maximum_Rectangular_Area_in_a_Histogram.py
NEXT GREATER ELEMENT Next_Greater_Element.py
PARANTHESIS CHECKER Parenthesis_Checker.py
REVERSE A STRING USING STACK Reverse_a_string_using_Stack.py
REVERSE A STACK USING RECURSION REVERSE_STACK.PY
EVALUATION OF POSTFIX EXPRESSION Evaluation_of_Postfix_Expression.py
INFIX TO POSTFIX INFIX_TO_POSTFIX.PY
REMOVE OUTERMOST PARANTHESIS Remove_Outermost_Paranthesis.PY
DUPLICATE PARANTHESIS DUPLICATE_PARA.PY
EASY STRING EASY_STRING.PY
MIN STACK O(N) SPACE MIN_STACK_1.PY
MIN STACK O(1) SPACE MIN_STACK_2.PY
SLIDING WINDOW MAXIMUM SLIDING_WINDOW_MAX.PY
STOCK SPAN PROBLEM STOCK_SPAN.PY

QUEUE


Problems Solution
QUEUE QUEUE.PY
QUEUE WITH LINKED LIST QUEUE_WITH_LINKED_LIST.PY
CIRCULAR QUEUE CIRCULAR_QUEUE.PY
PRIORITY QUEUE PRIORITY_QUEUE.PY
DOUBLE ENDED QUEUE DOUBLE_ENDED_QUEUE.PY
SLIDING WINDOW MAXIMUM SLIDING_WINDOW_MAX.PY

MATRIX


Problems Solution
ADDITION OF TWO MATRIX ADDITION_TWO_MAT.PY
BOOLEAN MATRIX BOOLEAN_MATRIX.PY
DETERMINATION OF TWO MATRIX DETERMINATION_TWO_MAT.PY
MATRIX MULTIPLICATION matrix_mul.PY
MAXIMUM IN HISTOGRAM MAX_IN_HISTOGRAM.PY
MAX SUM OF 1'S MAX_SUM_1'S.PY
MULTIPLICATION OF TWO MATRIX MUL_TWO_MAT.PY
ROTATE MATRIX 90 DEGREE ROTATE_90_DEG.py
SEARCH IN MATRIX SEARCH_IN_MATRIX.PY
SPIRAL TRAVERSAL IN MATRIX SPIRAL_TRAVERSAL.PY
TRANSPOSE OF MATRIX TRANSPOSE_MATRIX.PY

LINKED LIST


Problems Solution
LINKED LIST LINKED_LIST.PY
DOUBLY LINKED LIST DOUBLY_LINKED_LIST.PY
CIRCULAR LINKED LIST CIRCULAR_SINGLY_LINKED_LIST.PY
CIRCULAR DOUBLY LINKED LIST CIRCULAR_DOUBLY_LINKED_LIST.PY
DELETE ALTERNATE NODE IN LINKED LIST DELETE_ALTERNATE_NODE.PY
REVERSE A LINKED LIST REVERSELINKEDLIST.PY
ROTATE A LINKED LIST IN K TIMES ROTATE_A_LINKED_LIST.PY
REMOVE DUPLICATE FROM SORTED LINKED LIST REMOVE_DUPLICATE_FROM_SORTED_LIST.PY
FIND THE SOME OF LAST N NODE OF LINKED LIST FIND_THE _SUM_OF_LAST_N_NODED_OF_THE_LINKED_LIST.PY
VALIDATE PALINDROME LINKED LIST PALINDROME_LINKED_LIST.PY
DETECT CYCLE IN LINKED LIST LINKED_LIST_CYCLE.PY
PAIR SWAP PAIR_SWAP.PY
MERGED TWO SORTED LINKED LIST MERGED_TWO_SORTED_ARR.PY

RECURSION


Problems Solution
FIND STRING LENGTH STR_LEN.PY
DELETE X FROM STRING STR_DEL_X.PY
REPLACE X WITH Y IN STRING STR_REPLACE_X.PY
REMOVE CONSICUTIVE DUPLICATES REMOVE_CONSICUTIVE_DUPLICATES.PY
SUM OF NATURAL NUMBERS SUM_OF_N_NATURAL_NO.PY
FINDING EXPONENSIAL EXPONENSIAL.PY
FIND NO OF WAYS IN MATRIX FIND_NO_OF_WAYS_IN_NxM.PY
JOSEPHUS PROBLEM JOSEPHUS_PROBLEM.PY
CHECKING PALINDROME STRING PALINDROME_STRING.PY
PRINT ALL PERMUTATIONS OF STRING PRINT_ALL_PERMUTATION_GIVEN_STRING.PY
PRINT SUBSEQUENCES OF STRING PRINT_SUBSEQUENCE_OF_GIVEN_STRING.PY
REVERSE A STRING USING RECURSION REVERSE_STRING.PY
SUBSETS OF TARGETSUM SUBSETS_OF_TARGETSUM.PY
ALL POSSIBLE STAIR CASE STAIR_CASE.PY
SPECIAL FIBONACCI SPECIAL_FIBO.PY
FIND FIRST UPPERCASE FIND_FIRST_UPPER.PY
GET MAXIMUM AND MINIMUM GET_MAX_MIN.PY
SUM TRIANGULAR ARRAY SUM_TRIA_ARR.PY
COMBINATION SUM COMBINATIONS_SUM.PY
WORD SEARCH WORD_SEARCH.PY
EXPLORE ALL POSSIBLE MAZE PATH MAZE_FINDING.PY
EXPLORE ALL POSSIBLE MAZE PATH WITH JUMP MAZE_FIND_WITH_JUMP.PY
KEYPAD COMBINATIONS KEYPAD_COMBINATIONS.PY

HASHMAP


Problems Solution
AFTER COLLISION HASHING ACO_HASH_FUNCTION.PY
BEFORE COLLISION HASHING BCO_HASH_FUNCTION.PY
COUNT DISTINCT ELEMENT IN EVERY WINDOW Count_distinct_elements_in_every_window.PY
INTERSECTION OF TWO SORTED ARRAY INTERSECTION_OF_2_SORTED_ARR.PY
LONGEST CONSICUTIVE LONGEST_CONSICUTIVE.PY
LONGEST SUBARRAY WITH ZERO SUM LONGEST_SUBARR_0_SUM.PY
MAXIMUM DISTANCE BETWEEN SAME ELEMENT MAX_DIS_BET_SAME_ELE.PY
NON REPEAT NON_REPEAT.PY
SORTING ELEMENT OF AN ARRAY BY FREQUENCY Sorting_Elements_of_an_Array_by_Frequency.PY
TOP K FREQUENT ELEMENT IN ARRAY Top_k_Frequent_Elements_in_Array.PY
IS TWO ARRAY SAME OR NOT TWO_ARR_SAME_OR_NOT.PY
TWO SUM TWO_SUM.PY

SORTING


Problems Solution
BUBBLE SORT bubble.PY
INSERTION SORT insertion.PY
SELECTION SORT selection.PY
SHELL SORT shell.PY
QUICK SORT quick.PY
MERGE SORT merge.PY
REDIX SORT redix.PY
BUCKET SORT bucket.py
COUNTING SORT count.PY
HEAP SORT heap.PY
MINIMUM SWAP TO SORT A ARRAY MINIMUM_SWAP_TO_SORT.PY
MINIMUM SWAP MIN_SWAP.py
SORT 0 1 2 IN ARRAY SORT_0_1_2.PY
UNION OR TWO SORTED ARRAY UNION_2_SORTED_ARRAY.PY

SEARCHING


Problems Solution
LINEAR SEARCH linear_search.PY
BINARY SEARCH binary_search.PY
TERNARY SEARCH TERNARY_SEARCH.PY
SEARCH SORTED ROTATED ARRAY SEARCH_SORTED_ROTATE_ARRAY.PY
SEARCH MINIMUM PLATFORMS SEARCH_Minimum_Platforms.PY
SEARCH PEAK ELEMENT PEAK_ELEMENT.PY
SEARCH MISSING REPEATING VALUE FIND_MISSING_REPEATING_NO.PY
SEARCH MEDIAN OF TWO SORTED ARRAY MEDIAN_TWO_SORTED_ARR.py

TREE


Problems Solution
TREE CREATION TREE_CREATION.PY
GENERIC TREE CREATION CONSTRUCTION_GENERIC_TREE.PY
GENERIC TREE CREATION 2.0 CONSTRUCTION_GENERIC_TREE2_2.0.PY
DEPTHWISE GENERIC TREE TRAVERSAL DEPTH_GENERIC_TREE_TRAVERSAL.PY
LEVELWISE GENERIC TREE TRAVERSAL LEVEL_GENERIC_TREE_TRAVERSAL.PY
LEVEL LINEWISE GENERIC TREE TRAVERSAL LEVEL_LINEWISE_TREE_TRAVERSAL.PY
ZIG ZAG LINEWISE GENERIC TREE TRAVERSAL ZIG_ZAG_TRAVERSAL.PY
MIRROR OF GENERIC TREE MIRROR_GENERIC_TREE.PY
MAXIMUM NODE FROM TREE MAX_FROM_TREE.PY
LINEARIZE GENERIC TREE LINEARIZE_GENERIC_TREE.PY
FIND ELEMENT IN GENERIC TREE FIND_ELEMENT_IN_GENERIC_TREE.PY
REMOVE LEAF NODES IN GENERIC TREE REM_LEAF_IN_GENERIC_TREE.PY
NODE TO ROOT PATH GENERIC TREE NODE_TO_ROOT_PATH_GENERIC_TREE.PY
LOWEST COMMON ANCESTOR IN GENERIC TREE LOWEST_COMMON_ANCESTOR_GENERIC.PY
DIFFERENCE BETWEEN TWO NODE IN GENERIC TREE DIFFERENCE_BET_TWO_NODE_GENERIC.PY
CEIL AND FLOOR OF GIVEN VALUE IN GENERIC TREE CEIL_AND_FLOOR.PY
GET DIAMETER IN GENERIC TREE GET_DIAMETER_TREE.PY
GET SUCCESSOR-PREDESESSOR IN GENERIC TREE GET_SUCCESSOR_PREDESESSOR.PY
IS SAME SHAPE WITH MIRROR TREE IN GENERIC TREE IS_SAME_SHAPE_WITH_MIRROR.PY
IS SAME IN SHAPE IN GENERIC TREE IS_SAME_SHAPE.PY
IS SYMETRIC IN GENERIC TREE IS_SYMETRIC_TREE.PY
K TH LARGEST ELEMENT IN GENERIC TREE K_TH_LARGEST_ELEMENT.PY
MAX SUBTREE SUM IN GENERIC TREE MAX_SUBTREE_SUM.PY
BINARY TREE CREATION BINARY_TREE_CREATION.PY
BINARY_TREE BINARY_TREE.PY
BRANCH SUM BINARY TREE BRANCH_SUM.PY
LEFT CLONE TREE BINARY TREE LEFT_CLONE_TREE.PY
NODE TO ROOT PATH BINARY TREE NODE_TO_ROOT_PATH.PY
PATH SUM BINARY TREE PATH_SUM.PY
PRINT K LEVEL DOWN BINARY TREE PRINT_K_LEVEL_DOWN.PY
REMOVE SINGLE CHILD BINARY TREE REMOVE_SINGLE_CHILD.PY
AVL TREE AVL_TREE.PY

GRAPH


Problems Solution
GRAPH CREATION SET GRAPH_CREATION_SET.PY
GRAPH CREATION LIST GRAPH_CREATION_ADJ.PY
GRAPH CREATION MATRIX GRAPH_CREATION_MAT.PY
DFS DFS.PY
GET CONNECTED COMPONENTS GET_CONNECTED_COMPO.PY
IS GRAPH CONNECTED IS_GRAPH_CONNECTED.PY
GET NUMBER OF ISLANDS COUNT_NO_OF_ISLAND.PY
PERFECT FRIENDS PERFECT_FRIEND.PY
HAMILTON PATH HAMILTON_PATH.PY
KNIGHT TOUR KNIGHT_TOUR.PY
BFS BFS.PY
SPREAD INFECTION PROBLEM SPREAD_INFECTION.PY
IS GRAPH CYCLIC IS_GRAPH_CYCLIC.PY
IS GRAPH BIPARTITE IS_GRAPH_BIPARTITE.PY
DIJSTRA'S ALGORITHM DIJSKRA'S.PY
KRUSKAL'S ALGORITHM KRUSKAL'S.PY
PRIM'S ALGORITHM PRIM'S.PY
FLOYD WARSHAL floyd_warshal.PY

DIVIDE AND CONQURE


Problems Solution
FINDING EXPONENTIAL EXPONENTIAL.PY
LARGE NUMBER MULTIPLICAIOTN LARGE_NUM_MUL.PY
MIN MAX PROBLEM MIN_MAX_PROBLEM.PY
STRASSEN'S MATRIX MULTIPLICAOINT Stressen's_Matrix_Mul .PY

BIT MANIPULATION


Problems Solution
BASIC OPERAIONS BASIC.PY
BIT DIFFERENCE PROBLEM BIT_DIFFERENCE.PY
BINARY TO GREY CODE EQUIVALENCE Binary_To_Gray_Code_equivalent.PY
CHECK K BIT CHECK_K_BIT.PY
FIND FIRST SET BIT FIND_FIRST_SET_BIT.PY
IS POWER OF TWO IS_POWER_2.PY
NUMBER IS SPARSE OR NOT Number_is_sparse_or_not.PY
SWAPP ALL ODD AND EVEN BITS Swap_all_odd_and_even_bits.py
COUNT TOTAL SET BITS Count_total_set_bits.PY
MAXIMUM SUBSET XOR Maximum_subset_XOR.PY
RIGHTMOST DIFFERENT BIT Rightmost_different_bit.py
EQUAL SUM AND XOR EQUAL_SUM_AND_XOR.PY
LONGEST CONSICUTIVE ONE'S LONGEST_CONSECUTIVE_1'S.PY
MIDORI AND CHOCOLATE PROBLEM MIDORI_AND_CHOCOLATE.py
NON REPEATING TWO DUPLICATE VALUES NON_REPEATING_NUMBERS.PY
PARTY COUPLE PROBLEM (ONE DUPLICATE) PARTY_OF_COUPLE.PY

GREEDY


Problems Solution
01 KNAPSACK PROBLEM 01_knapsach_recursion.PY
FRACTIONAL KNAPSACK FRACTIONAL_KNAPSACK.PY
CONNECTED COMPONENT PROBLEM CONNECTED_COMPONENT.PY
DECODE STRING WAYS PROBLEM DECODE_STRINGS_WAYS.PY
LONGEST COMMON SUBSEQUENCE EDIT_DISTANCE_BET2STRING.PY
OPEN PARANTHESIS PROBLEM LONG_COM_SUB.PY
PARTITION SET K SUM OPNE_PARANTHESIS_PROBLME.PY
STAIR CASE PROBLEM PARTITION_SET_K_SUM.PY
EDIT DISTANCE BETWEEN TWO STRINGS STAIR_RECUR.py

BACKTRACKING


Problems Solution
FLOOD FILL ALGO FLOOD_FILL.PY
TARGET SUBSET SUM SUBSET_SUM_PROBLEM.PY
N QUEEN PROBLEM N_QUEEN_DP.PY
KNIGHT TOUR KNIGHT_TOUR.PY
SUDUKO SOLVER SUDOKO.PY
TRAVELLING SALESMAN PROBLEM Travelling_salesman_problem.PY

DYNAMIC PROGRAMMING


Problems Solution
01 KNAPSACK 01_knapsack_dyna.PY
UNBOUNDED 01 KNAPSACK UNBOUNDED_KNAPSACK.PY
ASSEMBLY LINE SHEDULAR ASSEMBLY_LINE_SCHEDULAR.PY
BIONOMIAL BIONOMIAL.PY
DECODE STRING WAYS DP APPROACH DECODE_STRINGS_WAYS_DP.PY
EDIT DISTANCE BETWEEN TWO STRING DP APPROACH EDIT_DISTANCE_BET2STRING_DP.PY
LONGEST COMMON SUBSEQUENCE DP APPROACH LONG_COM_SUB_DP.PY
SUBSET SUM PROBLEM SUBSET_SUM_PROBLEM.PY
MIN PATH SUM PROBLEM MIN_PATH_SUM.PY
CLIMB STAIRS PROBLEM CLIMB_STAIRS.PY
CLIMB STAIRS WITH JUMP CLIMB_STAIRS_WITH_JUMP.PY
CLIMB STAIRS WITH MIN JUMP CLIMB_STAIRS_WITH_MIN_JUMP.PY
MOST COST CLIMB STAIRS MOST_COST_CLIMBING_STAIRS.PY
GOLDMINE DIG PROBLEM GOLDMINE_DIG.PY
COIN CHANGE PERMUTATION COIN_CHANGE_PERMUTATIONS.PY
COIN CHANGE COMBINATIONS COIN_CHANGE_COMBINATIONS.PY
DECODE WAYS DECODE_WAYS.PY
COUNT BINARY STRING COUNT_BIN_STR.PY
ARRANGE THE BUILDING ARRANGE_BUILDING.PY
COUNT SUBSEQUENCE OF A+B+C COUNT_SUBSEQUENCE_ABC.PY
MAX SUM OF TWO NON ADJUCENT SUM_OF_TWO_NON_ADJACENT.PY
PAINT HOUSE PAINT_HOUSE.PY
PAINT HOUSE 2 PAINT_HOUSE_2.PY
MATRIX SUM RECTANGLE MATRIX_SUM_REC.PY
RANGE QUERY SUM PROBLEM RANGE_QUERY.PY
STAIR CASE PROBLEM WITH DP APPROACH STAIR_DP_BOTTOMUP.PY
TOTAL COUNT BINARY SEARCH TREE TOTAL_COUNT_BST.PY
COIN CHANGE PROBLEM WITH DP APPROACH choinchange.PY
EGG DROPPING WITH DP APPROACH egg_droping.py
EGG DROPPING WITH DP APPROACH WITH SECOND APPROACH egg_dropping_diff.PY
FIBONACCI SEQUENCE fibonacci.PY
FIND NEXT PERMUTATION next_permutation.PY
PASCAL TRIANGLE pascal.PY

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%