本文主要是介绍Leetcode 1217. Minimum Cost to Move Chips to The Same Position [Python],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目好难理解,看了各位大神们的解释才懂了要求做什么。比如说[2,2,2,3,3] 的意思是[index == 2的位置上有一个chip,index == 2的位置上有一个chip,index == 2的位置上有一个chip, index == 3的位置上有一个chip, index == 3的位置上有一个chip]. 那其实问题就成了,奇数index上的chips,无论挪到哪里都是不cost的,因为每次挪2位。同理,偶数index上的chips也一样。问题就成了,把奇数位上的全部chips挪到同一个奇数位上,把偶数位上的全部chips挪到同一个偶数位上,其这两个位置相邻。最后看哪位上的chips少,就把少的挪到多的上。
class Solution:def minCostToMoveChips(self, position: List[int]) -> int:evenpos = 0totalchips = len(position)for index, pos in enumerate(position):if pos % 2 == 0:evenpos += 1oddpos = totalchips - evenposreturn min(oddpos, evenpos)
这篇关于Leetcode 1217. Minimum Cost to Move Chips to The Same Position [Python]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!