zoukankan      html  css  js  c++  java
  • 【leetcode】1217. Play with Chips

    题目如下:

    There are some chips, and the i-th chip is at position chips[i].

    You can perform any of the two following types of moves any number of times (possibly zero) on any chip:

    • Move the i-th chip by 2 units to the left or to the right with a cost of 0.
    • Move the i-th chip by 1 unit to the left or to the right with a cost of 1.

    There can be two or more chips at the same position initially.

    Return the minimum cost needed to move all the chips to the same position (any position).

    Example 1:

    Input: chips = [1,2,3]
    Output: 1
    Explanation: Second chip will be moved to positon 3 with cost 1. First chip will be moved to position 3 with cost 0. 
    Total cost is 1.

    Example 2:

    Input: chips = [2,2,2,3,3]
    Output: 2
    Explanation: Both fourth and fifth chip will be moved to position two with cost 1. Total minimum cost will be 2.

    Constraints:

    • 1 <= chips.length <= 100
    • 1 <= chips[i] <= 10^9

    解题思路:最终所有的chips处于的位置要么是偶数位要是是奇数位:如果是偶数位,那么初始就处于偶数位chips移动到最终位置不需要任何cost,而初始处于奇数位的chips移动到最近的偶数位只需要1个cost;反之如果最终位置是奇数位也是一样的。所以答案就是初始处于奇数位的chips和除数处于偶数位的chips的数量的较小值。

    代码如下:

    class Solution(object):
        def minCostToMoveChips(self, chips):
            """
            :type chips: List[int]
            :rtype: int
            """
            odd = 0
            even = 0
            for i in chips:
                if i % 2 == 1:
                    odd += 1
                else: even += 1
            return min(odd,even)
  • 相关阅读:
    太原市圆通快递网点
    快递单号查询小工具
    C#快递单号查询源码
    爱快递快递接口使用说明
    如何把网站及数据库部署到Windows Azure
    从window.console&&console.log(123)浅谈JS的且运算逻辑(&&)
    C# Enum 简易权限设计 使用FlagsAttribute属性
    Lambda 表达式(C# 编程指南)
    C# list使用方法
    SharePoint Server 2013介绍v2
  • 原文地址:https://www.cnblogs.com/seyjs/p/11646372.html
Copyright © 2011-2022 走看看