تعادل اعداد
فرض کنید یک لیست دلخواه از اعداد integer به طول N داریم. این لیست را به ازای هر عدد P که P کوچکتر از N باشد میشود به دو قسمت تقسیم کرد. مثلاً لیست مقابل که به طول پنج هست را در نظر بگیرید:
[3, 1, 2, 4, 3]
- اگر عدد P را یک در نظر بگیریم یک لیست [۳] و یک لیست [۱٬۲,۴٬۳] خواهیم داشت و اگر عدد P را دو در نظر بگیریم یک لیست [۳٬۱] و یک لیست [۲٬۴,۳] خواهیم داشت و به همین ترتیب عدد P را میتوانیم برای مثال فوق ۳ یا ۴ هم در نظر بگیریم.
حال اگر عدد P را یک در نظر بگیریم مجموع اعداد داخل دو لیست جدیدی که ایجاد شده بود به ترتیب ۳ و ۱۰ میشود چون:
1 + 2 + 4 + 3 = 10
حال اگر دو عدد مجموع ارقام داخل لیستها را یعنی عدد ۱۰ و ۳ را از هم کم کنیم و حاصل را قدرمطلق بگیریم به عدد ۷ میرسیم چون |۱۰–۳| = ۷
اگر P را برابر ۲ میگرفتیم این عدد برابر |۴ − ۹| = ۵ و اگر P را برابر ۳ میگرفتیم این عدد برابر |۶ − ۷| = ۱ و اگر این عدد را برابر ۴ میگرفتیم حاصل برابر |۱۰ − ۳| = ۷ میشد. پس به ازای اعداد P مختلف برای لیست مثال زده شده، حداقل این تفاضل برابر ۱ میشود و این یعنی به ازای P برابر ۳ بیشترین تعادل را میتوانیم بین دو لیست ایجاد شده از لیست قبل داشته باشیم و در حالت تعادل قدرمطلق تفاضل 1 میشود
تابعی بنویسید که یک لیست به دلخواه شامل اعداد integer و با طول دلخواه بگیرد و تفاضل مجموع اعضای دو لیست حاصل از آن که بیشترین تعادل را با هم دارند را برگرداند.
ورودیها
نام ورودی | نوع ورودی | توضیح |
---|---|---|
a | integer | یک لیست از اعداد integer |
خروجی
قدر مطلق تفاضل مجموع اعضای دو لیست حاصل که با هم بیشترین تعادل را دارند.
تستکیسها
ورودی نمونه | خروجی نمونه |
---|---|
{'a':[3, 1, 2, 4, 3]} | 1 |