标签:例子 芯片 题目 结果 exp 交换 col 合集 现在
这是小川的第421次更新,第454篇原创
今天介绍的是LeetCode算法题中Easy级别的第270题(顺位题号是1217)。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:
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:
有一些芯片,第i
个芯片位于位置chips[i]
。
你可以在任何芯片上多次执行以下两种类型的任何一种移动(也可能为零次):
i
个芯片向左或向右移动2个单位,成本为0。i
个芯片向左或向右移动1个单位,成本为1。最初时,在同一位置可以有两个或多个芯片。返回将所有芯片移至同一位置(任何位置)所需的最低成本。
例如:
输入:chips = [1,2,3]
输出:1
说明:第二个芯片将以成本1移至位置3。第一个芯片将以成本0移至位置3。总成本为1。
输入:chips = [2,2,2,3,3]
输出:2
说明:第四和第五芯片都将移动到成本为1的位置2。最低总成本为2。
限制条件:
一开始看题目,看的我一脸懵逼,这是个神马题目介绍?
开始认为是移动元素到固定的一个索引位置上,计算移动的最小成本,给的例子倒也能解释,但是在试了其他几组数据后,比如数组{1,3,5}
,结果是0,与我设想的结果1对不上,思路是错的,肯定是理解错了题目的意思。没办法,只能继续理解题意和用随机数组验证思路了。在明白题目究竟想要我们做啥后,只想来一句,我服了you!
回归正题,我们一起来看看这个题目的真面目。如果将题目中positon
字眼,换成value
,你就会很快明白题目在讲什么了。
给了一个数组,其中元素都是大于等于1的正整数,可以对数组中的任意元素进行两种操作:将元素值加2或减2,成本为0;将元素值加1或减1,成本为1。这两种操作都可以进行多次,现在要将数组中的元素值全部变为一个值,请问最低的成本是多少?
结合题目中的第二个例子来看,[2,2,2,3,3]
,有3个2,2个3,有两种办法,可以将这5个数统一,第一是3个2都变3,成本是3;第二个办法是2个3都变为2,成本是2,所以最小成本是2,也就是将2个3变为2。再来一个,比如[1,3,5]
,将3减去2变为1,成本为0,将5减两次2,也变为1,成本为0,最后总成本是0。
所以,这个问题本质上是计算数组中奇数和偶数的个数。
public int minCostToMoveChips(int[] chips) {
int even = 0, odd = 0;
for (int chip : chips) {
if (chip%2 == 0) {
even++; //偶数元素个数
} else {
odd++; //奇数元素个数
}
}
return odd > even ? even : odd;
}
算法专题目前已更新LeetCode算法题文章276+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。
以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、在看就是对我最大的回报和支持!
LeetCode.1217-交换芯片(Play with Chips)
标签:例子 芯片 题目 结果 exp 交换 col 合集 现在
原文地址:https://www.cnblogs.com/xiaochuan94/p/11639354.html