LeetCode - 1217 - 玩筹码(play-with-chips)
一 目录
不折腾的前端,和咸鱼有什么区别
目录 |
---|
一 目录 |
二 前言 |
三 解题 |
二 前言
难度:简单
涉及知识:贪心算法、数组、数学
题目地址:https://leetcode-cn.com/problems/play-with-chips/
题目内容:
数轴上放置了一些筹码,
每个筹码的位置存在数组 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
三 解题
小伙伴可以先自己在本地尝试解题,再回来看看 jsliang 的解题思路。
LeetCode 给定函数体:
/*** @param {number[]} chips* @return {number}*/
var minCostToMoveChips = function(chips) {};
根据上面的已知函数,尝试破解本题吧~
确定了自己的答案再看下面代码哈~
是不是没赌过博就看不懂题目,好歹我看过赌圣赌神的电影啊~
在示例 2 中:
输入:chips = [2,2,2,3,3]
输出:2
解释:
第四和第五个筹码移动到位置二的代价都是 1,
所以最小总代价为 2。
规则:
将第 i 个筹码向左或者右移动 2 个单位,代价为 0。
将第 i 个筹码向左或者右移动 1 个单位,代价为 1。
第 4 个移动到位置 2 代价是 0,第 5 个移动到位置 2 的代价是 1?
懵圈 ing...
寻思这看下【题解区】吧:
https://leetcode-cn.com/problems/play-with-chips/solution/zhe-ke-neng-shi-yi-ge-yue-du-li-jie-ti-0ms-by-litt/
奇数移动到奇数、偶数移动到偶数是无消耗的,
意思就是算奇数和偶数的个数而已。
enm...我……
脑经急转弯
const minCostToMoveChips = (chips) => {let odd = 0,even = 0;for (let i = 0; i < chips.length; i++) {if (chips[i] % 2 === 0) {even++;} else {odd++;}}return Math.min(even, odd);
};
Submit 提交:
Accepted
* 50/50 cases passed (92 ms)
* Your runtime beats 5.98 % of javascript submissions
* Your memory usage beats 35.46 % of javascript submissions (33.8 MB)
我,jsliang,认输~
如果小伙伴有更好的思路想法,欢迎评论留言或者私聊 jsliang~
不折腾的前端,和咸鱼有什么区别!
jsliang 会每天更新一道 LeetCode 题解,从而帮助小伙伴们夯实原生 JS 基础,了解与学习算法与数据结构。
浪子神剑 会每天更新面试题,以面试题为驱动来带动大家学习,坚持每天学习与思考,每天进步一点!
扫描上方二维码,关注 jsliang 的公众号(左)和 浪子神剑 的公众号(右),让我们一起折腾!
jsliang 的文档库 由 梁峻荣 采用 知识共享 署名-非商业性使用-相同方式共享 4.0 国际 许可协议进行许可。
基于https://github.com/LiangJunrong/document-library上的作品创作。
本许可协议授权之外的使用权限可以从 https://creativecommons.org/licenses/by-nc-sa/2.5/cn/ 处获得。
LeetCode - 1217 - 玩筹码(play-with-chips)相关推荐
- leetcode 1217. 玩筹码
[题目]1217. 玩筹码 数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中. 你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以): 将第 i 个筹码向左或者右移动 ...
- LeetCode 1217. 玩筹码(脑筋急转弯)
1. 题目 数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中. 你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以): 将第 i 个筹码向左或者右移动 2 个单位,代价 ...
- leetcode —— 1217. 玩筹码
数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中. 你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以): 将第 i 个筹码向左或者右移动 2 个单位,代价为 0. 将 ...
- LeetCode——1217. 玩筹码
题目描述: 数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中. 你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以): 方式一:将第 i 个筹码向左或者右移动 2 个单 ...
- 【LeetCode每日一题】——1217.玩筹码
文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[解题思路] 七[题目提示] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 贪心算法 二[ ...
- LeetCode之玩筹码
题目:玩筹码 思路: 算出在偶数根棍子上的筹码数, 奇数根棍子上的筹码数 :二者中的最小值就是结果. 因为我们可以通过0代价把所有筹码都移动到两根棍子上,然后把其中一根棍子上筹码较少的筹码通过1代价一 ...
- leetcode 1217. Minimum Cost to Move Chips to The Same Position | 1217. 玩筹码(Java)
题目 题解 所有的 chips,要么在奇数位置,要么在偶数位置 class Solution {public int minCostToMoveChips(int[] position) {int p ...
- Leecode 刷题记录 1217 玩筹码
文章目录 topic answer topic 有 n 个筹码.第 i 个芯片的位置是 position[i] . 我们需要把所有筹码移到同一个位置.在一步中,我们可以将第 i 个芯片的位置从 pos ...
- 力扣1217. 玩筹码
题目 有 n 个筹码.第 i 个筹码的位置是 position[i] . 我们需要把所有筹码移到同一个位置.在一步中,我们可以将第 i 个筹码的位置从 position[i] 改变为: positio ...
最新文章
- 函数指针与指针函数的使用与小结
- 用Ext-4.2简单实现分页效果
- MyBatis 解决模糊查询包含特殊字符
- 解决sqlalchemy连接mysql报错ModuleNotFoundError: No module named ‘pymysql‘
- OpenCV图像处理(14)——文件夹下所有图像转灰度
- MCPC 2011Hdu4207-4214(未完全)题解
- 基于python的贴吧舆情监控助手实战
- php如何生成伪静态url,Thinkphp里关于U函数生成URL伪静态
- 磨皮,美白,搞笑图片处理
- 大学四年,因为这40个开发工具,我成为别人眼中的大神
- python类和属性的应用搬家具
- 一个强悍的算24点游戏的PHP程序
- 大数据营销的优势和核心
- Mott-insulator transitions in BEC
- Image Manipulation with StyleGAN
- 简易的星号密码查看器(对话框版+网页版)
- RHCSA操作第四次作业
- 获取汉字偏旁部首 Python版本
- js大数字类型(超过16位)失真问题
- 马化腾内部分享:产品经理必修课
热门文章
- php如何连接数据库 甲骨文,Windows PHP/phpStudy 连接 甲骨文Oracle 数据库 oci8
- Android 布局圆角方案总结
- js 前端导出报错 格式不正确_vue项目前端导出word文件(bug解决)
- H3C无线AC+AP配置2—有密码登录
- 使用 Prometheus-Operator 监控 Calico(网络监控)
- 续2:股票交易一点感悟和程序化交易实战
- 5G UE — USIM Card — 身份鉴权
- 插入排序及其时间复杂度推导
- UBLOX板卡基础设置--F9P板卡配置(基准站和流动站)
- 有实力的APP开发公司应该具备哪些优势?