1822. 数组元素积的符号
生活随笔
收集整理的這篇文章主要介紹了
1822. 数组元素积的符号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1822. 數組元素積的符號
已知函數?signFunc(x) 將會根據 x 的正負返回特定值:
如果 x 是正數,返回 1 。
如果 x 是負數,返回 -1 。
如果 x 是等于 0 ,返回 0 。
給你一個整數數組 nums 。令 product 為數組 nums 中所有元素值的乘積。
返回 signFunc(product) 。
示例 1:輸入:nums = [-1,-2,-3,-4,3,2,1] 輸出:1 解釋:數組中所有值的乘積是 144 ,且 signFunc(144) = 1示例 2:輸入:nums = [1,5,0,2,-3] 輸出:0 解釋:數組中所有值的乘積是 0 ,且 signFunc(0) = 0示例 3:輸入:nums = [-1,1,-1,1,-1] 輸出:-1 解釋:數組中所有值的乘積是 -1 ,且 signFunc(-1) = -1提示:
- 1 <= nums.length <= 1000
- -100 <= nums[i] <= 100
解題思路
因為函數 signFunc(x) 將會根據 x 的正負返回特定值,而我們需要返回的結果為 signFunc(product)(product 為數組 nums 中所有元素值的乘積),所以我們不需要關心我們最后乘積的大小,我們只需要關心乘積的正負號。因此我們只需要處理:
代碼
class Solution { public:int arraySign(vector<int>& nums) {int sum=1;for (auto c:nums) {if (c==0) return 0;if (c<0) sum=-sum;}return sum;} };- 時間復雜度O(n),n為nums數組的長度
- 空間復雜度O(1),只需要使用一個變量表示符號
總結
以上是生活随笔為你收集整理的1822. 数组元素积的符号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到吃青枣是什么意思
- 下一篇: 梦到翡翠镯子断了什么意思