یک لیست از اعداد 0
و 1
داده شده است. باید بررسی کنید که چه تعداد از این اعداد خوشحال هستند و نسبت آنها به کل اعداد را برگردانید.
[0, 1, 0, 0, 0, 1, 1, 1, 0, 1]
# اولین عنصر، یعنی 0، و آخرین عنصر، یعنی 1، هر دو ناخوشحال هستند.
# دومین عنصر، یعنی 1، ناخوشحال است.
# ماقبل آخرین عنصر، یعنی 0، ناخوشحال است.
# سایر اعداد در این لیست خوشحال هستند.
تعریف اعداد خوشحال و ناخوشحال
- یک
1
ناخوشحال است اگر:- عدد سمت چپ و عدد سمت راست آن هر دو
0
باشند.
- عدد سمت چپ و عدد سمت راست آن هر دو
- یک
0
ناخوشحال است اگر:- عدد سمت چپ و عدد سمت راست آن هر دو
1
باشند.
- عدد سمت چپ و عدد سمت راست آن هر دو
- اعدادی که فقط یک همسایه دارند (لبههای لیست):
- ناخوشحال هستند اگر تنها همسایه آنها مخالف باشد.
- سایر اعداد خوشحال هستند.
portion of happy numbers = (happy 0s + happy 1s) / total numbers
در مثال بالا، عدد 0.6 عدد اعداد خوشحال است.
نمونه ورودی و خروجی
PortionHappy([0, 1, 0, 1, 0]) ➞ 0
PortionHappy([0, 1, 1, 0]) ➞ 0.5
PortionHappy([0, 0, 0, 1, 1]) ➞ 1
نکات
- اعداد در ابتدا و انتهای لیست فقط یک همسایه دارند و وضعیت خوشحالی یا ناخوشحالی آنها طبق همسایه تعیین میشود.
- لیست همیشه حداقل دو عنصر دارد.
- خروجی باید یک مقدار اعشاری بین
0
و1
باشد که نسبت اعداد خوشحال را نشان دهد.
PortionHappy([0, 1, 0, 1, 0]) ➞ 0
PortionHappy([0, 1, 1, 0]) ➞ 0.5
PortionHappy([0, 0, 0, 1, 1]) ➞ 1
PortionHappy([1, 0, 0, 1, 1]) ➞ 0.8
PortionHappy([1, 1, 1, 1, 1]) ➞ 1
PortionHappy([1, 1]) ➞ 1
PortionHappy([1, 0]) ➞ 0
نظرات