当前位置:网站首页>leetcode-每日一题1217. 玩筹码(贪心+位运算)
leetcode-每日一题1217. 玩筹码(贪心+位运算)
2022-07-31 05:10:00 【lin钟一】
题目链接:https://leetcode.cn/problems/minimum-cost-to-move-chips-to-the-same-position/
思路
直接想法
这题要求得到移动到同一格子的最小成本,跳两格的成本是0,跳一格的成本是1,所以我们需要尽量跳两格,发现刚好可以分成下标奇偶两列的棋子,可以把奇偶两列的棋子都移动到相邻的点上(移动到1和2上),此时我们只需要对比移动那块的棋子成本最低即可
算法
- 遍历棋子下标 position 数组
- 判断元素的奇偶性,把奇数下标记录在odd 元素里
- 对比奇数格子上的棋子和偶数格子上的棋子的数量,返回两者最小值 即可
代码示例
func minCostToMoveChips(position []int) int {
odd := 0
for _, v := range position {
if v & 1 == 1{
odd++
}
}
//len(position) - odd表示偶数格子的数量
if odd > len(position) - odd {
return len(position) - odd
}
return odd
}
复杂度分析
- 时间复杂度:O(n) 其中n表示数组长度,遍历数组需要花费O(n)的时间
- 空间复杂度:O(1) 没有申请额外空间
边栏推荐
- 剑指offer专项突击版 --- 第 3 天
- 【mysql 提高查询效率】Mysql 数据库查询好慢问题解决
- Simple command of mysql
- a different object with the same identifier value was already associated with the session
- 13 【代理配置 插槽】
- Redis first meeting
- 剑指offer基础版 ---- 第27天
- Redis的初识
- uni-app进阶之内嵌应用【day14】
- 关于小白安装nodejs遇到的问题(npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
猜你喜欢
随机推荐
Redis first meeting
Three handshakes and four waves
分布式事务——分布式事务简介、分布式事务框架 Seata(AT模式、Tcc模式、Tcc Vs AT)、分布式事务—MQ
面试Redis 高可靠性|主从模式、哨兵模式、Cluster集群模式
08 【生命周期 组件】
C语言实验一 熟悉C程序的环境
Paginate the list collection and display the data on the page
leetcode-每日一题剑指 Offer II 041. 滑动窗口的平均值(队列模拟)
torch.normal function usage
C语言实验五 循环结构程序设计(二)
Anaconda配置环境指令
Anaconda configure environment directives
面试官竟然问我怎么分库分表?幸亏我总结了一套八股文
【JS面试题】面试官:“[1,2,3].map(parseInt)“ 输出结果是什么?答上来就算你通过面试
MySQL8--Windows下使用压缩包安装的方法
Data set partitioning and cross-validation
关于小白安装nodejs遇到的问题(npm WARN config global `--global`, `--local` are deprecated. Use `--location=glob)
leetcode-每日一题731. 我的日程安排表 II
Kubernetes 证书可用年限修改
Element concatenation operations in numpy and pytorch: stack, concatenat, cat