from collections import defaultdict graph=defaultdict(list) v,e=map(int,input().split()) for i in range(e): u,v=map(str,input().split()) graph[u].append(v) graph[v].append(u) for i in graph: print(i,"->",graph[i]) Input: 7 9 A B A C A F C E C F C D D E D G G F Output: F -> ['A', 'C', 'G'] C -> ['A', 'E', 'F', 'D'] G -> ['D', 'F'] D -> ['C', 'E', 'G'] A -> ['B', 'C', 'F'] E -> ['C', 'D'] B -> ['A']
Given a matrix, A of size M x N of 0s and 1s. If an element is 0, set its entire row and column to 0.
Note: This will be evaluated on the extra memory used. Try to minimize the space and time complexity.
Input Format:
The first and the only argument of input contains a 2-d integer matrix, A, of size M x N.
Output Format:
Return a 2-d matrix that satisfies the given conditions.
Constraints:
1 <= N, M <= 1000
0 <= A[i][j] <= 1
Examples:
Input 1:
[ [1, 0, 1],
[1, 1, 1],
[1, 1, 1] ]
Output 1:
[ [0, 0, 0],
[1, 0, 1],
[1, 0, 1] ]
Input 2:
[ [1, 0, 1],
[1, 1, 1],
[1, 0, 1] ]
Output 2:
[ [0, 0, 0],
[1, 0, 1],
[0, 0, 0] ]
Solution:
class Solution:
# @param A : list of list of integers
# @return the same list modified
def setZeroes(self, A):
m=len(A)
n=len(A[0])
x=set()
y=set()
for i in range(m):
for j in range(n):
if A[i][j]==0:
x.add(i)
y.add(j)
for i in x:
A[i]=[0]*n
for j in y:
for i in range(m):
A[i][j]=0
return(A)
Solution Screenshot:
Comments
Post a Comment