[leetcode: Python]
2017-05-16 18:13
337 查看
Given a non-empty integer array of size n, find the minimum number of moves required to make all array elements equal, where a move is incrementing n - 1 elements by 1.
Example:
题目大意:
给定一个长度为n的非空整数数组,计算最少需要多少次移动可以使所有元素相等,一次移动是指将n - 1个元素加1。
解题思路:
一次移动将n - 1个元素加1,等价于将剩下的1个元素减1。
因此累加数组中各元素与最小值之差即可。
方法一:75ms
Example:
Input: [1,2,3] Output: 3 Explanation: Only three moves are needed (remember each move increments two elements): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]
题目大意:
给定一个长度为n的非空整数数组,计算最少需要多少次移动可以使所有元素相等,一次移动是指将n - 1个元素加1。
解题思路:
一次移动将n - 1个元素加1,等价于将剩下的1个元素减1。
因此累加数组中各元素与最小值之差即可。
方法一:75ms
class Solution(object): def minMoves(self, nums): """ :type nums: List[int] :rtype: int """ return sum(nums) - min(nums) * len(nums)
相关文章推荐
- 【LeetCode with Python】 Wildcard Matching
- 【LeetCode with Python】 Generate Parentheses
- 【LeetCode with Python】 Remove Duplicates from Sorted Array
- 【LeetCode with Python】 Binary Tree Preorder Traversal
- 【LeetCode with Python】 Maximum Depth of Binary Tree
- 【LeetCode with Python】 Binary Tree Inorder Traversal
- 【LeetCode with Python】 Pow(x, n)
- 【LeetCode with Python】 Maximum Subarray
- 【LeetCode with Python】 Insertion Sort List
- 【LeetCode with Python】 Best Time to Buy and Sell Stock
- 【LeetCode with Python】 Swap Nodes in Pairs
- 【LeetCode with Python】 Reverse Words in a String
- 【LeetCode with Python】 Remove Duplicates from Sorted List
- 【LeetCode with Python】 String to Integer (atoi)
- 【LeetCode with Python】 LRU Cache
- 【LeetCode with Python】 Remove Element
- 【LeetCode with Python】 Validate Binary Search Tree
- 【LeetCode with Python】 Pascal's Triangle
- 【LeetCode with Python】 Balanced Binary Tree
- 【LeetCode with Python】 Minimum Depth of Binary Tree