leetcode 462. Minimum Moves to Equal Array Elements II
来源:互联网 发布:数据挖掘 招聘 长沙 编辑:程序博客网 时间:2024/06/06 09:41
Given a non-empty integer array, find the minimum number of moves required to make all array elements equal, where a move is incrementing a selected element by 1 or decrementing a selected element by 1.
You may assume the array’s length is at most 10,000.
Example:
Input:
[1,2,3]
Output:
2
Explanation:
Only two moves are needed (remember each move increments or decrements one element):
[1,2,3] => [2,2,3] => [2,2,2]
本题是上一道题leetcode 453. Minimum Moves to Equal Array Elements 的变种,
其实第一种方法最棒,很奇妙的想法。
参考这个链接[LeetCode] Minimum Moves to Equal Array Elements II 最少移动次数使数组元素相等之二
代码如下:
#include <iostream>#include <vector>#include <map>#include <set>#include <queue>#include <stack>#include <string>#include <climits>#include <algorithm>#include <sstream>#include <functional>#include <bitset>#include <cmath>using namespace std;class Solution {public: int minMoves2(vector<int>& nums) { sort(nums.begin(), nums.end()); int res = 0, i = 0, j = (int)nums.size() - 1; while (i < j) { res += nums[j] - nums[i]; j--; i++; } return res; } int minMoves2ByMidean(vector<int>& nums) { sort(nums.begin(), nums.end()); int res = 0, mid = nums[nums.size() / 2]; for (int num : nums) res += abs(num - mid); return res; }};
阅读全文
0 0
- 【leetcode】462. Minimum Moves to Equal Array Elements II【M】
- LeetCode 462. Minimum Moves to Equal Array Elements II
- LeetCode笔记:462. Minimum Moves to Equal Array Elements II
- LeetCode 462. Minimum Moves to Equal Array Elements II
- Leetcode-462. Minimum Moves to Equal Array Elements II
- 【LeetCode】 462. Minimum Moves to Equal Array Elements II
- LeetCode 462. Minimum Moves to Equal Array Elements II
- LeetCode 462. Minimum Moves to Equal Array Elements II
- [LeetCode]462. Minimum Moves to Equal Array Elements II
- 【LeetCode】462. Minimum Moves to Equal Array Elements II
- leetcode 462. Minimum Moves to Equal Array Elements II
- leetcode 462. Minimum Moves to Equal Array Elements II
- LeetCode:462. Minimum Moves to Equal Array Elements II
- leetcode 462. Minimum Moves to Equal Array Elements II
- leetcode 462. Minimum Moves to Equal Array Elements II
- Leetcode 之 Minimum Moves to Equal Array Elements II
- [LeetCode]Minimum Moves to Equal Array Elements II(Java)
- leetcode 462 Minimum Moves to Equal Array Elements II C++
- 配置用户范围settings.xml
- 极客先锋 Linux 下的dd命令使用详解(摘录)
- 记一次properties的坑
- BackgroundWorker
- 入门Vue2.0及学习实战项目
- leetcode 462. Minimum Moves to Equal Array Elements II
- 《android framework常用api源码分析》之Zygote进程
- 配置Pycharm开发模板
- 【教育自救】 你准备好面对逼迫了吗
- zookeeper的zkCli.sh命令行使用方法
- 二战时图灵机破译的Enigma密码,现在AI仅需13分钟便可破译
- ChromeDriver can't do file uploads if file input not clickable
- centos7系统下使用yum命令被锁定
- 浏览器同源政策及其规避方法