1. 题目

数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。

你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以):

  • 将第 i 个筹码向左或者右移动 2 个单位,代价为 0。
  • 将第 i 个筹码向左或者右移动 1 个单位,代价为 1。

最开始的时候,同一位置上也可能放着两个或者更多的筹码。

返回将所有筹码移动到同一位置(任意位置)上所需要的最小代价

示例 1:
输入:chips = [1,2,3]
输出:1
解释:第二个筹码移动到位置三的代价是 1,
第一个筹码移动到位置三的代价是 0,总代价为 1。示例 2:
输入:chips = [2,2,2,3,3]
输出:2
解释:第四和第五个筹码移动到位置二的代价都是 1,所以最小总代价为 2。提示:
1 <= chips.length <= 100
1 <= chips[i] <= 10^9

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/play-with-chips
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 移动偶数步,随便
  • 移动奇数步,+1
  • 那么可以看做,只有2个位置(奇偶,所有的奇数位置移到一起花费0,同理偶数一样)
  • 那么最后选一个少的,挪1步到多的上面
class Solution {public:int minCostToMoveChips(vector<int>& chips) {int a = 0, b = 0;for(int &chip : chips)if(chip%2)a++;elseb++;return min(a,b);}
};

0 ms 8.6 MB

LeetCode 1217. 玩筹码(脑筋急转弯)相关推荐

  1. leetcode 1217. 玩筹码

    [题目]1217. 玩筹码 数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中. 你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以): 将第 i 个筹码向左或者右移动 ...

  2. leetcode —— 1217. 玩筹码

    数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中. 你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以): 将第 i 个筹码向左或者右移动 2 个单位,代价为 0. 将 ...

  3. LeetCode - 1217 - 玩筹码(play-with-chips)

    一 目录 不折腾的前端,和咸鱼有什么区别 目录 一 目录 二 前言 三 解题 二 前言 难度:简单 涉及知识:贪心算法.数组.数学 题目地址:https://leetcode-cn.com/probl ...

  4. LeetCode——1217. 玩筹码

    题目描述: 数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中. 你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以): 方式一:将第 i 个筹码向左或者右移动 2 个单 ...

  5. 【LeetCode每日一题】——1217.玩筹码

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[解题思路] 七[题目提示] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 贪心算法 二[ ...

  6. LeetCode之玩筹码

    题目:玩筹码 思路: 算出在偶数根棍子上的筹码数, 奇数根棍子上的筹码数 :二者中的最小值就是结果. 因为我们可以通过0代价把所有筹码都移动到两根棍子上,然后把其中一根棍子上筹码较少的筹码通过1代价一 ...

  7. leetcode 1217. Minimum Cost to Move Chips to The Same Position | 1217. 玩筹码(Java)

    题目 题解 所有的 chips,要么在奇数位置,要么在偶数位置 class Solution {public int minCostToMoveChips(int[] position) {int p ...

  8. 力扣1217. 玩筹码

    题目 有 n 个筹码.第 i 个筹码的位置是 position[i] . 我们需要把所有筹码移到同一个位置.在一步中,我们可以将第 i 个筹码的位置从 position[i] 改变为: positio ...

  9. Leecode 刷题记录 1217 玩筹码

    文章目录 topic answer topic 有 n 个筹码.第 i 个芯片的位置是 position[i] . 我们需要把所有筹码移到同一个位置.在一步中,我们可以将第 i 个芯片的位置从 pos ...

最新文章

  1. 【原创】Github团队协作之Pull请求
  2. PHP随手记1--内置函数date
  3. liuux/ Unix 文件管理命令(三)
  4. 防止Stack smash的技术
  5. NEUQ 字符串 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛
  6. html5决战沙城源码,决战沙城h5符文玩法介绍 怎么获得完美首通
  7. 图像处理理论(七)——LBP, Fisherface, Viola-Jones
  8. Zookeeper-Zookeeper的配置
  9. 实现Windows直接远程访问Ubuntu桌面和解决VNC连接Ubuntu桌面灰色的问题解决
  10. Flutter 实现微信摇一摇的功能 Flutter 加速度感应
  11. SAP License:第三只眼看财务-快速编制现金流量
  12. CrazyWing:Python自动化运维开发实战 五、Python运算符与表达式
  13. cesium cesium is not defined
  14. 经典机器学习系列(八)【支持向量机】
  15. linux的uapi文件夹,【linux】Linux kernel uapi header file(用户态头文件)
  16. win7 win10 配置共享文件夹
  17. AVX贴片钽电容标识
  18. [置顶]史上最详细最全的Linux上安装Oracle的教程-centos7-humf
  19. struts标签+jstl标签之国际化实例
  20. [项目管理-28]:四象限法与任务的时间优先级管理

热门文章

  1. ann matlab,人工神经网络ann及其matlab仿真.ppt
  2. 三个数相减的平方公式_快收好这份小学数学公式大全!孩子遇到数学难题时肯定用得上...
  3. java基础之线程(1)
  4. pynput模块—键盘鼠标操作和监听
  5. C语言那年踩过的坑--局部变量,静态变量,全局变量在内存中存放的位置
  6. 康纳的表情包(思维)
  7. python-greenlet模块(协程)
  8. Linux中一些 不是很常用的配置修改
  9. html5移动端制作知识点总结
  10. asp.net 的页面几种传值方式