๐—–๐—ฆ ๐—”๐—น๐—ด๐—ผ ๐Ÿ’ป ๐ŸŒ ใ€Ž๐—–๐—ผ๐—บ๐—ฝ๐—ฒ๐˜๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ดใ€
9.63K subscribers
5.61K photos
3 videos
95 files
10.6K links
๐ŸšฉMain Group - @SuperExams
๐Ÿ“Job Updates - @FresherEarth

๐Ÿ”ฐAuthentic Coding Solutions(with Outputs)
โš ๏ธDaily Job Updates
โš ๏ธHackathon Updates & Solutions

Buy ads: https://telega.io/c/cs_algo
Download Telegram
๐Ÿ””Deloitte Off Campus Drive 2022 | BE/ B.Tech | Freshers | Business Technology Analyst

*Job Profile:Business Technology Analyst
*Experience:Freshers
*Batch:2022/2021/2020
*Organization:Deloitte Off Campus Drive 2021

Apply Here
๐Ÿ‘1
def isDistinctRange(s, ranges):
for i in range(len(ranges)):
l, r = ranges[i]
s2 = []
for j in range(l-1, r):
if s[j] != '_':
s2.append(s[j])
if len(set(s2)) != len(s2):
return False
return True

def goodString(N, Q, S, arr, ranges):
s = list(S)
if isDistinctRange(s, ranges):
return 0
for i in range(len(arr)):
s[arr[i] - 1] = '_'
if isDistinctRange(s, ranges):
return i + 1

Good String (Amazon)
Python 3โœ…
def norm(water_adj_list, visited, province):
if province in visited:
return water_adj_list[province]

visited.add(province)
for conn_province in water_adj_list[province]:
water_adj_list[province] = water_adj_list[province].union(norm(water_adj_list, visited, conn_province))

visited.union(water_adj_list)
return water_adj_list[province]

def norm_water_paths(water_adj_list):
computed = set()
for province in water_adj_list:
visited = set(computed)
norm(water_adj_list, visited, province)
computed.add(province)

for province in water_adj_list:
water_adj_list[province].discard(province)
return water_adj_list

def get_component(land_adj_list, visited, province):
global component
if province in visited:
return

visited.add(province)
component.add(province)
for conn_province in land_adj_list[province]:
get_component(land_adj_list, visited, conn_province)

def validate_component(water_adj_list):
global component
conn_by_water = set()
for province in component:
conn_by_water = conn_by_water.union(water_adj_list[province])

return len(component.intersection(conn_by_water)) == 0

def get_adj_list(N, edges):
adj_list = {}
for province in range(1, N+1):
adj_list[province] = set()

for edge in edges:
adj_list[edge[0]].add(edge[1])
adj_list[edge[1]].add(edge[0])

return adj_list

component = set()
def solve(A, B, N, land, water):
global component
land_adj_list = get_adj_list(N, land)
water_adj_list = get_adj_list(N, water)
water_adj_list = norm_water_paths(water_adj_list)
visited = set()
max_province = 0
for province in range(1, N+1):
component = set()
if not province in visited:
get_component(land_adj_list, visited, province)
if len(component) > max_province and validate_component(water_adj_list):
max_province = len(component)

return max_provincedef norm(water_adj_list, visited, province):
if province in visited:
return water_adj_list[province]

visited.add(province)
for conn_province in water_adj_list[province]:
water_adj_list[province] = water_adj_list[province].union(norm(water_adj_list, visited, conn_province))

visited.union(water_adj_list)
return water_adj_list[province]

def norm_water_paths(water_adj_list):
computed = set()
for province in water_adj_list:
visited = set(computed)
norm(water_adj_list, visited, province)
computed.add(province)

for province in water_adj_list:
water_adj_list[province].discard(province)
return water_adj_list

def get_component(land_adj_list, visited, province):
global component
if province in visited:
return

visited.add(province)
component.add(province)
for conn_province in land_adj_list[province]:
get_component(land_adj_list, visited, conn_province)

def validate_component(water_adj_list):
global component
conn_by_water = set()
for province in component:
conn_by_water = conn_by_water.union(water_adj_list[province])

return len(component.intersection(conn_by_water)) == 0

def get_adj_list(N, edges):
adj_list = {}
for province in range(1, N+1):
adj_list[province] = set()

for edge in edges:
adj_list[edge[0]].add(edge[1])
adj_list[edge[1]].add(edge[0])

return adj_list

component = set()
def solve(A, B, N, land, water):
global component
land_adj_list = get_adj_list(N, land)
water_adj_list = get_adj_list(N, water)
water_adj_list = norm_water_paths(water_adj_list)
visited = set()
max_province = 0
for province in range(1, N+1):
component = set()
if not province in visited:
get_component(land_adj_list, visited, province)
if len(component) > max_province and validate_component(water_adj_list):
max_province = len(component)

return max_province
๐Ÿ‘2