Re: [閒聊] 每日leetcode

看板Marginalman作者 (溫水佳樹的兄長大人)時間1年前 (2024/10/04 13:15), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串941/1548 (看更多)
※ 引述《dont (dont)》之銘言: : 2491. Divide Players Into Teams of Equal Skill : ## 思路 : chemistry會是最大跟最小的skill相加 : 排序後, 每次從頭尾各取一 : 如果相加的和不等於chemistry就回傳-1 : ## Code : ```python : class Solution: : def dividePlayers(self, skill: List[int]) -> int: : skill.sort() : res = 0 : chemistry = skill[0] + skill[-1] : for i in range(len(skill) // 2): : if skill[i] + skill[~i] != chemistry: : return -1 : res += skill[i] * skill[~i] : return res : ``` 思路: 差不多 先頭尾相加 然後遍歷 有不相等的就return -1 Python Code: class Solution: def dividePlayers(self, skill: List[int]) -> int: skill.sort() start = 1 end = len(skill) - 2 tmp = skill[0] + skill[-1] result = skill[0] * skill[-1] while start < end: if skill[start] + skill[end] != tmp: return -1 result += skill[start] * skill[end] start += 1 end -= 1 return result -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.119.233.6 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1728018927.A.1C7.html
文章代碼(AID): #1c_tdl77 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1c_tdl77 (Marginalman)