TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
JavaScript | LeetCode

28 Sep, 12:06

Telegram'da ochish Ulashish Shikoyat qilish

Задача: 602. Friend Requests II: Who Has the Most Friends
Сложность: medium

Напишите решение для нахождения людей, у которых больше всего друзей, и количества их друзей.
Тестовые случаи сгенерированы так, что только у одного человека больше всего друзей.
Формат результата приведён в следующем примере.

Пример:
Input:
RequestAccepted table:
+--------------+-------------+-------------+
| requester_id | accepter_id | accept_date |
+--------------+-------------+-------------+
| 1 | 2 | 2016/06/03 |
| 1 | 3 | 2016/06/08 |
| 2 | 3 | 2016/06/08 |
| 3 | 4 | 2016/06/09 |
+--------------+-------------+-------------+
Output:
+----+-----+
| id | num |
+----+-----+
| 3 | 3 |
+----+-----+
Explanation:
The person with id 3 is a friend of people 1, 2, and 4, so he has three friends in total, which is the most number than any others.

👨‍💻 Алгоритм:

1⃣Поскольку человек может подружиться, отправив или приняв запрос дружбы, для подсчета количества друзей у каждого человека объединяем столбцы requester_id и accepter_id в один.

2⃣Используем UNION ALL для сохранения всех дублирующихся значений и переименовываем столбцы в id.

3⃣Подсчитываем, сколько раз каждый id появляется, группируем по id, сортируем по убыванию и берем первую запись для определения человека с максимальным количеством друзей.

😎 Решение:
WITH Combined AS (
SELECT requester_id AS id
FROM friendships
UNION ALL
SELECT accepter_id AS id
FROM friendships
),
FriendCounts AS (
SELECT id, COUNT(*) AS friend_count
FROM Combined
GROUP BY id
ORDER BY friend_count DESC
)
SELECT id, friend_count
FROM FriendCounts
LIMIT 1;

Ставь 👍 и забирай 📚 Базу знаний

351 0 3
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot