zoukankan      html  css  js  c++  java
  • 1822. Sign of the Product of an Array

    There is a function signFunc(x) that returns:

    • 1 if x is positive.
    • -1 if x is negative.
    • 0 if x is equal to 0.

    You are given an integer array nums. Let product be the product of all values in the array nums.

    Return signFunc(product).

    Example 1:

    Input: nums = [-1,-2,-3,-4,3,2,1]
    Output: 1
    Explanation: The product of all values in the array is 144, and signFunc(144) = 1

    Constraints:

    • 1 <= nums.length <= 1000
    • -100 <= nums[i] <= 100
    class Solution {
    public:
        int arraySign(vector<int>& nums) {
            int cnt_neg=0;
            for(int i=0;i<nums.size();i++){
                if(nums[i]==0)
                    return 0;
                if(nums[i]<0)
                    cnt_neg++;  
            }
            if(cnt_neg%2==0) return 1;
            else return -1;
        }
    };

    更好的写法

    class Solution {
    public:
        int arraySign(vector<int>& nums) {
            int sign=1;
            for(int n:nums){
                if(n==0)
                    return 0;
                if(n<0)
                    sign=-sign;
            }
            return sign;
        }
    };
  • 相关阅读:
    luogu P1396 营救
    luogu P2009 跑步
    2017 9 22
    2017 9 22 模拟赛T2
    2017 9 21
    luogu P1433 吃奶酪
    luogu p1867【Mc生存】经验值
    luogu p1387 最大正方形
    单例模式1
    Java 设计模式
  • 原文地址:https://www.cnblogs.com/Makerr/p/14727705.html
Copyright © 2011-2022 走看看