prakhardoneria - HTMLify profile
files of /prakhardoneria/GFG/
class Solution:
def countSubset(self, arr, k):
n = len(arr)
mid = n // 2
left = arr[:mid]
ri
def countSubset(self, arr, k):
n = len(arr)
mid = n // 2
left = arr[:mid]
ri
class Solution:
def minCost(self, heights, cost):
def get_cost(target_h):
total = 0
for h, c
def minCost(self, heights, cost):
def get_cost(target_h):
total = 0
for h, c
class Solution:
def findKRotation(self, arr):
low = 0
high = len(arr) - 1
n = len(arr)
def findKRotation(self, arr):
low = 0
high = len(arr) - 1
n = len(arr)
class Solution:
def permuteDist(self, arr):
res = []
self.solve(0, arr, res)
return res
def
def permuteDist(self, arr):
res = []
self.solve(0, arr, res)
return res
def
class Solution:
def smallestDiff(self, a, b, c):
a.sort()
b.sort()
c.sort()
i, j, k
def smallestDiff(self, a, b, c):
a.sort()
b.sort()
c.sort()
i, j, k
Interleave the First Half of the Queue with Second Half.py
/prakhardoneria/GFG/Interleave the First Half of the Queue with Second Half.py
from collections import deque
class Solution:
def rearrangeQueue(self, q):
n = len(q)
half = n // 2
class Solution:
def rearrangeQueue(self, q):
n = len(q)
half = n // 2
from collections import deque
class Solution:
def maxOfSubarrays(self, arr, k):
n = len(arr)
dq = deque()
class Solution:
def maxOfSubarrays(self, arr, k):
n = len(arr)
dq = deque()
import math
class Solution:
def kokoEat(self, arr, k):
# The minimum possible speed is 1
# The maximum spee
class Solution:
def kokoEat(self, arr, k):
# The minimum possible speed is 1
# The maximum spee
class Solution:
def getLastMoment(self, n, left, right):
max_time = 0
if left:
max_time
def getLastMoment(self, n, left, right):
max_time = 0
if left:
max_time
class Solution:
def maxCircularSum(self, arr):
total_sum = 0
curr_max = 0
max_so_far = arr[0]
def maxCircularSum(self, arr):
total_sum = 0
curr_max = 0
max_so_far = arr[0]
class Solution:
def maxSum(self, arr):
n = len(arr)
total_sum = sum(arr)
current_val = sum(i * arr[i
def maxSum(self, arr):
n = len(arr)
total_sum = sum(arr)
current_val = sum(i * arr[i
class Solution:
def maxOnes(self, arr, k):
left = 0
max_len = 0
zero_count = 0
for
def maxOnes(self, arr, k):
left = 0
max_len = 0
zero_count = 0
for
class Solution:
def maxProduct(self, arr):
if not arr:
return 0
res = max(arr)
def maxProduct(self, arr):
if not arr:
return 0
res = max(arr)
import math
class Solution:
def findWays(self, n):
if n % 2 != 0:
return 0
k = n // 2
class Solution:
def findWays(self, n):
if n % 2 != 0:
return 0
k = n // 2
Stock Buy and Sell – Max one Transaction Allowed.py
/prakhardoneria/GFG/Stock Buy and Sell – Max one Transaction Allowed.py
class Solution:
def maxProfit(self, prices):
if not prices:
return 0
min_price = fl
def maxProfit(self, prices):
if not prices:
return 0
min_price = fl
from collections import deque
class Solution:
def firstNonRepeating(self, s):
char_count = [0] * 26
queue =
class Solution:
def firstNonRepeating(self, s):
char_count = [0] * 26
queue =
class Solution:
def isWordExist(self, mat, word):
n = len(mat)
m = len(mat[0])
def backtrac
def isWordExist(self, mat, word):
n = len(mat)
m = len(mat[0])
def backtrac
class Solution:
def minCandy(self, arr):
n = len(arr)
if n == 0:
return 0
# Ste
def minCandy(self, arr):
n = len(arr)
if n == 0:
return 0
# Ste
count-distinct-elements-in-every-window.py
/prakhardoneria/GFG/count-distinct-elements-in-every-window.py
class Solution:
def countDistinct(self, arr, k):
n = len(arr)
res = []
freq_map = {}
def countDistinct(self, arr, k):
n = len(arr)
res = []
freq_map = {}
class Solution:
def countSubstr(self, s, k):
def atMost(k):
freq = {}
left = 0
r
def countSubstr(self, s, k):
def atMost(k):
freq = {}
left = 0
r
class Solution:
def countSubarrays(self, arr, k):
def countAtMost(limit):
if limit < 0:
def countSubarrays(self, arr, k):
def countAtMost(limit):
if limit < 0:
expression-contains-redundant-bracket-or-not.py
/prakhardoneria/GFG/expression-contains-redundant-bracket-or-not.py
class Solution():
def checkRedundancy(self, s):
st = []
for char in s:
if char == ')':
def checkRedundancy(self, s):
st = []
for char in s:
if char == ')':
class Solution:
def merge(self, a, b):
if not a: return b
if not b: return a
result = None
def merge(self, a, b):
if not a: return b
if not b: return a
result = None
class Solution:
def __init__(self):
self.history = []
self.future = []
def append(self, x):
sel
def __init__(self):
self.history = []
self.future = []
def append(self, x):
sel
class Solution:
def josephus(self, n, k):
if n == 1:
return 1
else:
return (self.jos
def josephus(self, n, k):
if n == 1:
return 1
else:
return (self.jos
class Solution:
def canServe(self, arr):
five = 0
ten = 0
for bill in arr:
if b
def canServe(self, arr):
five = 0
ten = 0
for bill in arr:
if b
class Solution:
def maxSubarraySum(self, arr, k):
n = len(arr)
if n < k:
return 0
def maxSubarraySum(self, arr, k):
n = len(arr)
if n < k:
return 0
class Solution:
def maxSubarrayXOR(self, arr, k):
n = len(arr)
current_xor = 0
for i in ran
def maxSubarrayXOR(self, arr, k):
n = len(arr)
current_xor = 0
for i in ran
from collections import deque
class Solution:
def maxOfSubarrays(self, arr, k):
n = len(arr)
dq = deque()
class Solution:
def maxOfSubarrays(self, arr, k):
n = len(arr)
dq = deque()
class Solution:
def maxPeople(self, arr):
n = len(arr)
if n == 0:
return 0
visi
def maxPeople(self, arr):
n = len(arr)
if n == 0:
return 0
visi
class Solution:
def minMen(self, arr):
n = len(arr)
max_reach_at = [-1] * n
for i in range(
def minMen(self, arr):
n = len(arr)
max_reach_at = [-1] * n
for i in range(
class Solution:
def minWindow(self, s1, s2):
n1, n2 = len(s1), len(s2)
i, j = 0, 0
min_len = float('
def minWindow(self, s1, s2):
n1, n2 = len(s1), len(s2)
i, j = 0, 0
min_len = float('
from collections import Counter
class Solution:
def nextFreqGreater(self, arr):
n = len(arr)
freq = Counter
class Solution:
def nextFreqGreater(self, arr):
n = len(arr)
freq = Counter
class Solution:
def catchThieves(self, arr, k):
n = len(arr)
p = 0
t = 0
res = 0
def catchThieves(self, arr, k):
n = len(arr)
p = 0
t = 0
res = 0
class Solution:
def removeKdig(self, s, k):
if len(s) == k:
return "0"
stack = []
def removeKdig(self, s, k):
if len(s) == k:
return "0"
stack = []
class Solution:
def sort012(self, arr):
low = 0
mid = 0
high = len(arr) - 1
while m
def sort012(self, arr):
low = 0
mid = 0
high = len(arr) - 1
while m
class Solution:
def calculateSpan(self, arr):
n = len(arr)
span = [0] * n
stack = []
def calculateSpan(self, arr):
n = len(arr)
span = [0] * n
stack = []
subarrays-with-at-most-k-distinct-integers.py
/prakhardoneria/GFG/subarrays-with-at-most-k-distinct-integers.py
class Solution:
def countAtMostK(self, arr, k):
if k == 0:
return 0
n = len(arr)
def countAtMostK(self, arr, k):
if k == 0:
return 0
n = len(arr)