Problem
Table: Friends
+-------------+------+ | Column Name | Type | +-------------+------+ | user1 | int | | user2 | int | +-------------+------+ (user1, user2) is the primary key (combination of unique values) of this table. Each row contains information about friendship where user1 and user2 are friends.
Write a solution to find the popularity percentage for each user on Meta/Facebook. The popularity percentage is defined as the total number of friends the user has divided by the total number of users on the platform, then converted into a percentage by multiplying by 100, rounded to 2 decimal places.
Return the result table ordered by user1
in ascending order.
The result format is in the following example.
Â
Example 1:
Input:Â Friends table: +-------+-------+ | user1 | user2 | +-------+-------+ | 2 Â Â | 1 Â Â | | 1 Â Â | 3 Â Â | | 4 Â Â | 1 Â Â | | 1 Â Â | 5 Â Â | | 1 Â Â | 6 Â Â | | 2 Â Â | 6 Â Â | | 7 Â Â | 2 Â Â | | 8 Â Â | 3Â Â Â | | 3 Â Â | 9 Â Â | +-------+-------+ Output:Â +-------+-----------------------+ | user1 | percentage_popularity | +-------+-----------------------+ | 1 | 55.56 Â Â Â Â Â Â Â Â | | 2 | 33.33 Â Â Â Â Â Â Â Â | | 3 | 33.33 Â Â Â Â Â Â Â | | 4 | 11.11 Â Â Â Â Â Â Â Â | | 5 | 11.11 Â Â Â Â Â Â Â Â | | 6 | 22.22 Â Â Â Â Â Â Â Â | | 7 | 11.11 Â Â Â Â Â Â Â Â | | 8 | 11.11 Â Â Â Â Â Â Â Â | | 9 | 11.11 Â Â Â Â Â Â Â Â | +-------+-----------------------+ Explanation:Â There are total 9 users on the platform. - User "1" has friendships with 2, 3, 4, 5 and 6. Therefore, the percentage popularity for user 1 would be calculated as (5/9) * 100 = 55.56. - User "2" has friendships with 1, 6 and 7. Therefore, the percentage popularity for user 2 would be calculated as (3/9) * 100 = 33.33. - User "3" has friendships with 1, 8 and 9. Therefore, the percentage popularity for user 3 would be calculated as (3/9) * 100 = 33.33. - User "4" has friendships with 1. Therefore, the percentage popularity for user 4 would be calculated as (1/9) * 100 = 11.11. - User "5" has friendships with 1. Therefore, the percentage popularity for user 5 would be calculated as (1/9) * 100 = 11.11. - User "6" has friendships with 1 and 2. Therefore, the percentage popularity for user 6 would be calculated as (2/9) * 100 = 22.22. - User "7" has friendships with 2. Therefore, the percentage popularity for user 7 would be calculated as (1/9) * 100 = 11.11. - User "8" has friendships with 3. Therefore, the percentage popularity for user 8 would be calculated as (1/9) * 100 = 11.11. - User "9" has friendships with 3. Therefore, the percentage popularity for user 9 would be calculated as (1/9) * 100 = 11.11. user1 is sorted in ascending order.