-
-
Save aashish-chaubey/51aa70a61932739e03311e239e3eaf1b to your computer and use it in GitHub Desktop.
def taskOfPairing(freq): | |
count = 0 | |
marker = False | |
for i in freq: | |
if i != 0: | |
count += i // 2 | |
if i % 2 != 0 and marker: | |
count += 1 | |
marker = False | |
elif i % 2 != 0: | |
marker = True | |
else: | |
marker = False | |
return count | |
Buddy, 12/15 testcases don't pass with your solution.
@therajdeepbiswas Can you please paste some of the test cases here? Let me check and fix it!
Buddy, 12/15 testcases don't pass with your solution.
Change last marker to False
Then all your test cases will run
thanks a lot, bro, but change your code, there is a bug on top where you need to change marker=False
can you give full program
i wrote the same code ... i only passed 3/15 cases ..
def taskOfPairing(freq):
dap = 0
test = freq
for i in range(len(test)):
if i < len(test)-1:
if test[i]%2 == 0:
dap += test[i]//2
print(i,test[i]//2,dap)
else:
dap += test[i]//2
print(i,test[i]//2,dap)
test[i+1] += 1
else:
dap += test[i]//2
return dap
This is my code. i think mine and your is same logic. but i only pass 3/15 cases too. so, i copy and paste your code in hacker rank. but your code pass only 3/15 cases too. Is your code is correct?
ps.
oh I found my mistake. i change my code. and it pass all testcase. but i still wonder why when i paste your code it doesnt work...
This is my solution which passes all test cases.
def taskOfPairing(freq):
# Initialize the number of pairs
no_of_pairs = 0
# Track any remaining dumbells that can't be paired at each step
remaining = 0
# Iterate over the frequency list
for count in freq:
if count != 0:
if remaining != 0:
# Add pairs that can be formed by combining the current count with the remaining
no_of_pairs += (count + remaining) // 2
else:
# Add pairs that can be formed from the current count alone
no_of_pairs += count // 2
# Calculate if there's any leftover that can't be paired
if (count + remaining) % 2 != 0:
remaining = (count + remaining) % 2
else:
remaining = 0
else:
# Reset remaining if the count is zero
remaining = 0
return no_of_pairs
Buddy, 12/15 testcases don't pass with your solution.