Infosys – HackWithInfy Coding practice problem – 1 : Auction Winner

Infosys – HackWithInfy Coding practice problem – 1 : Auction Winner

You are at a fine art auction and are looking for a specific painting. There are N people who have gathered to place a bid on that same painting.
The rules of at this auction are a bit different, Such that, the person with the lowest unique bid wins the auction.
People are numbered from 1 to N. You are given an array bids which depicts the bidding price of the i-th person. Your task is to find the position of the person who will win the auction. If there is no winner, return -1.
Input Format:
The first line contains an integer N, denoting the number of participants.
Each line i of the N subsequent lines (where 0 <= i < N) contains an integer describing bid price of the i-th participant.
Constraints:

1 <= N <= 10 ^ 5
1 <= bids[i] <= 10 ^ 5

Sample Input 1 :

2
1
1

Sample Output :

-1

Explanation :
There are 2 people at auction. Both have placed a bid of same amount hence nobody wins.
Sample Input 2:

3
2
1
3

Sample Output :

2

Explanation:
The lowest unique bid is of person 2.
Sample Input 3:

4
2
2
2
3

Sample Output:

4

Explanation:
The lowest bid is of person 1,2,3 but lowest unique bid is of person 4.

Let's see the implementation:

N = int(input())
bids = []
temp = N

while N != 0 :
    bid = int(input())
    bids.append(bid)
    N -= 1

d = dict.fromkeys(bids)

for key in d :
    d[key] = []


for i in range(temp) :
    d[bids[i]].append(i)

s = list(sorted(d.items()))

flag = 0

for item in s :

    if len(item[1]) == 1 :
        print(item[1][0] + 1)
        flag = 1

        break

if flag :
    pass
else :
    print(-1)

Leave a Reply

Your email address will not be published.

📢 Need further clarification or have any questions? Let's connect!

Connect 1:1 With Me: Schedule Call


If you have any doubts or would like to discuss anything related to this blog, feel free to reach out to me. I'm here to help! You can schedule a call by clicking on the above given link.
I'm looking forward to hearing from you and assisting you with any inquiries you may have. Your understanding and engagement are important to me!

This will close in 20 seconds