یکی از چالشهای امروزی در زمینهی شبکههای اجتماعی، شناسایی پیامهای اسپم (spam) میباشد. معمولا پیامها از نظر اسپم بودن در چهار دسته زیر طبقهبندی میشوند:
- دسته Not Spam [NOT_SPAM]:
- پیامهایی که اسپم طبقهبندی نمیشوند.
- دسته Invalid Sender [INVALID_SENDER]:
- پیامهایی که شناسه فرستنده آنها تنها از اعداد تشکیل شده است.
- دسته Invalid Content [INVALID_CONTENT]:
- پیامهایی که در بدنه آنها تعداد کاراکترهای غیرحرف، غیرعدد و غیرفاصله بیش از نصف طول پیام باشد و در آن حداقل یک بار زیررشتهی $spam$ تکرار شده باشد.
- دسته Fully Invalid [FULLY_INVALID]:
- پیامهایی که هم فرستنده و هم بدنهی نامعتبر داشته باشند.
بسته spam را دانلود کنید.
متد detectSpams
در کلاس SpamDetector
را به گونهای پیادهسازی کنید که با دریافت آرایهای از Message
ها، آرایهای از SpamType
ها را برگرداند که هر عنصر آن نوع پیام متناظر در آرایهی messages
را مشخص میکند. به عبارتی اگر عنصر اول آرایهی messages
اسپم نباشد باید عنصر اول آرایهی برگشتی از نوع NOT_SPAM
باشد.
برای مثال با اجرای متد main در کلاس Main، باید خروجی زیر چاپ شود:
[INVALID_SENDER, INVALID_CONTENT]
آن چه که باید آپلود کنید
یک فایل زیپ که وقتی آن را باز میکنیم فقط فایل SpamDetector.java
را ببینیم.
ارسال پاسخ برای این سؤال