Skip to content

Commit df17fac

Browse files
committed
rearrange array A for maximum number of comparison wins (A[i] > B[i]) with B
1 parent 03a1a63 commit df17fac

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

Techgig/CodeGladiators/OptimalReordering.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,30 @@ def optimalReOrder(g_rev,oppo,N):
107107
k = i
108108
print (arr1)
109109
print (arr2)
110+
111+
112+
#merge sort approach (There might be a bug here..)
113+
def optimal_reorder(g_rev,oppo,N):
114+
tagged_grev = [('d',i) for i in g_rev]
115+
tagged_oppo = [('a',i) for i in oppo]
116+
merged = tagged_grev + tagged_oppo
117+
merged = sorted(merged,key=lambda x: x[1])
118+
max_wins = 0
119+
for i in range(len(merged)-1):
120+
print (i)
121+
if set((merged[i][0],merged[i+1][0])) == {'a','d'}:
122+
if (merged[i][0] == 'a') and (merged[i+1][0] == 'd'):
123+
if (merged[i][1] < merged[i+1][1]):
124+
print (merged[i][1],merged[i+1][1])
125+
max_wins += 1
126+
return max_wins
127+
110128

111129
if __name__ == '__main__':
112130
T = int(input())
113131
for tcs in range(T):
114132
N = int(input())
115133
g_rev = list(map(int,input().strip().split()))
116134
oppo = list(map(int,input().strip().split()))
117-
optimalReOrder(g_rev,oppo,N)
135+
optimalReOrder(g_rev,oppo,N)
136+
print (optimal_reorder(g_rev,oppo,N))

0 commit comments

Comments
 (0)