Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使数组中所有元素都等于零 #146

Open
yankewei opened this issue Jul 31, 2022 · 1 comment
Open

使数组中所有元素都等于零 #146

yankewei opened this issue Jul 31, 2022 · 1 comment
Labels
排序 题目包含排序解法 数组 题目类型为数组 简单 题目难度为简单

Comments

@yankewei
Copy link
Owner

给你一个非负整数数组 nums 。在一步操作中,你必须:

选出一个正整数 x ,x 需要小于或等于 nums 中 最小 的 非零 元素。
nums 中的每个正整数都减去 x。
返回使 nums 中所有元素都等于 0 需要的 最少 操作数。

示例 1:

输入:nums = [1,5,0,3,5]
输出:3
解释:
第一步操作:选出 x = 1 ,之后 nums = [0,4,0,2,4] 。
第二步操作:选出 x = 2 ,之后 nums = [0,2,0,0,2] 。
第三步操作:选出 x = 2 ,之后 nums = [0,0,0,0,0] 。

示例 2:

输入:nums = [0]
输出:0
解释:nums 中的每个元素都已经是 0 ,所以不需要执行任何操作。

提示:

  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 100

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/make-array-zero-by-subtracting-equal-amounts
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

@yankewei yankewei added 简单 题目难度为简单 数组 题目类型为数组 排序 题目包含排序解法 labels Jul 31, 2022
@yankewei
Copy link
Owner Author

class Solution {

    /**
     * @param Integer[] $nums
     * @return Integer
     */
    function minimumOperations($nums) {
        $nums = array_unique($nums);
        sort($nums);
        $ret = 0;
        for ($i = count($nums)-1 ; $i > 0; $i--) {
            $ret++;
        }
        if ($nums[0] !== 0) {
            $ret++;
        }

        return $ret;
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
排序 题目包含排序解法 数组 题目类型为数组 简单 题目难度为简单
Projects
None yet
Development

No branches or pull requests

1 participant