当前位置:网站首页>每日一题·1217.玩筹码·贪心
每日一题·1217.玩筹码·贪心
2022-07-15 17:39:00 【小迅想变强】
题目

示例

思路
题目->求数组position中奇偶数的个数,因为相邻位置移动开销为1,不相邻位置移动开销为0,那么两个不同的偶数移动在一起开销就为0,两个不同奇数移动在一起开销也为0,最后将全部移动在一起的偶数和奇数取最小数目的值移动到一起就为最小开销
这里主意解释一下为什么position[i] & 1可以判断奇偶,因为所有的偶数二进制第一位都是0,最小的偶数0,二进制0000,其次2->0010,4->0100,而所有的奇数二进制数第一位为1,与1与运算则只保留二进制数第一位,判断其运算值就可以得知奇偶性
代码
#define MIN(a , b) ((a) < (b) ? (a) : (b))
/*
*int minCostToMoveChips(int* position, int positionSize)
int minCostToMoveChips:判断数组元素奇数和偶数那个少
int* position:数组
int positionSize:数组长度
返回值:返回奇数或偶数的总个数,最少的
*/
int minCostToMoveChips(int* position, int positionSize){
int n = 0, m = 0;
for(int i = 0; i < positionSize; i++)
{
if(position[i] & 1)
{
m++;
}
else
{
n++;
}
}
return MIN(n , m);
}
时间空间复杂度

边栏推荐
猜你喜欢
随机推荐
蓝领困顿,直播带岗是真伪需求?
numpy获取二维数组某一行、某一列
OpenHarmony模块二下文件samgr_server解析(4)
模块二interfaces下头文件解析(2)
一家火锅店,凑了三个IPO
李沐动手学深度学习V2-目标检测数据集
JVM tuning command encyclopedia and common command tools and practical steps
Can you use redis? Then come and learn about redis protocol
matlab图像交互式操作,鼠标选取图像的一个区域
Pytorch中torch.argmax()函数解析
3-6月面经总结,200多页真题笔记和详解(含核心考点及6家大厂)
Dataarts, a data governance production line, makes "everyone an analyst"
OpenHarmony安全模块之AES加密学习
OpenHarmony模块二初分析
渗透测试流程
秋招拿了6offer,总结了20多类1100道面试题含答案解析
Sorting out knowledge points of queue (single queue) and deque (double ended queue)
Matlab:交换矩阵的两行(列)
FrameWork源码——Binder 驱动解析
二叉树(BinaryTree)和堆(Heap)的知识点整理








