En İyi 150 RöportajKolay

Twitter'ı Tasarla

'Twitter Tasarla' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Kullanıcıların tweet gönderebileceği, başka bir kullanıcıyı takip edebileceği/takipten vazgeçebileceği ve kullanıcının haber akışında en son 10 tweet'i görebileceği basitleştirilmiş bir Twitter sürümü tasarlayın.

Twitter sınıfını uygulayın:

- Twitter() Twitter nesnenizi başlatır.

- postTweet(userId: int, tweetId: int) Kullanıcı kimliğine göre tweetId kimliğine sahip yeni bir tweet oluşturur.

- getNewsFeed(userId: int) -> Liste[int] Kullanıcının haber akışındaki en yeni 10 tweet kimliğini alır.

- follow(followerId: int, followeeId: int) followerId kimliğine sahip kullanıcı, followeeId kimliğine sahip kullanıcıyı takip etmeye başladı.

- unfollow(followerId: int, followeeId: int) FollowerId kimliğine sahip kullanıcı, followeeId kimliğine sahip kullanıcının takibini bırakmaya başladı.

Giriş, işlemlerin ve argümanların bir listesidir. Sonuçların bir listesini döndüren twitter(operations: list, arguments: list) -> list işlevini uygulayın (yapıcı/postTweet/follow/follow için Yok ve getNewsFeed için List[int]).

Kısıtlamalar
  • 1 <= userId, followerId, followeeId <= 500
  • 0 <= tweetId <= 10^4
  • All the tweets have unique IDs
  • At most 30000 calls will be made in total

Örnekler

Example 1
Input
operations = ["Twitter", "postTweet", "getNewsFeed", "follow", "postTweet", "getNewsFeed", "unfollow", "getNewsFeed"], arguments = [[], [1, 5], [1], [1, 2], [2, 6], [1], [1, 2], [1]]
Output
[None, None, [5], None, None, [6, 5], None, [5]]
Explanation

User 1 posts tweet 5. News feed: [5]. User 1 follows 2. User 2 posts tweet 6. News feed: [6, 5]. User 1 unfollows 2. News feed: [5].

Need a Hint?
Kümeler veya yığınlar gibi Yığın/Öncelik Kuyruğuna özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Editörde Aç
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.