@@ -74,10 +74,7 @@ def is_for_table(string1: str, string2: str, count: int) -> bool:
7474 """
7575 list1 = list (string1 )
7676 list2 = list (string2 )
77- count_n = 0
78- for i in range (len (list1 )):
79- if list1 [i ] != list2 [i ]:
80- count_n += 1
77+ count_n = sum (item1 != item2 for item1 , item2 in zip (list1 , list2 ))
8178 return count_n == count
8279
8380
@@ -92,40 +89,34 @@ def selection(chart: list[list[int]], prime_implicants: list[str]) -> list[str]:
9289 temp = []
9390 select = [0 ] * len (chart )
9491 for i in range (len (chart [0 ])):
95- count = 0
96- rem = - 1
97- for j in range (len (chart )):
98- if chart [j ][i ] == 1 :
99- count += 1
100- rem = j
92+ count = sum (row [i ] == 1 for row in chart )
10193 if count == 1 :
94+ rem = max (j for j , row in enumerate (chart ) if row [i ] == 1 )
10295 select [rem ] = 1
103- for i in range (len (select )):
104- if select [i ] == 1 :
105- for j in range (len (chart [0 ])):
106- if chart [i ][j ] == 1 :
107- for k in range (len (chart )):
108- chart [k ][j ] = 0
109- temp .append (prime_implicants [i ])
96+ for i , item in enumerate (select ):
97+ if item != 1 :
98+ continue
99+ for j in range (len (chart [0 ])):
100+ if chart [i ][j ] != 1 :
101+ continue
102+ for row in chart :
103+ row [j ] = 0
104+ temp .append (prime_implicants [i ])
110105 while True :
111- max_n = 0
112- rem = - 1
113- count_n = 0
114- for i in range (len (chart )):
115- count_n = chart [i ].count (1 )
116- if count_n > max_n :
117- max_n = count_n
118- rem = i
106+ counts = [chart [i ].count (1 ) for i in range (len (chart ))]
107+ max_n = max (counts )
108+ rem = counts .index (max_n )
119109
120110 if max_n == 0 :
121111 return temp
122112
123113 temp .append (prime_implicants [rem ])
124114
125- for i in range (len (chart [0 ])):
126- if chart [rem ][i ] == 1 :
127- for j in range (len (chart )):
128- chart [j ][i ] = 0
115+ for j in range (len (chart [0 ])):
116+ if chart [rem ][j ] != 1 :
117+ continue
118+ for i in range (len (chart )):
119+ chart [i ][j ] = 0
129120
130121
131122def prime_implicant_chart (
0 commit comments