1822. 数组元素积的符号
生活随笔
收集整理的這篇文章主要介紹了
1822. 数组元素积的符号
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1822. 數(shù)組元素積的符號(hào)
已知函數(shù)?signFunc(x) 將會(huì)根據(jù) x 的正負(fù)返回特定值:
如果 x 是正數(shù),返回 1 。
如果 x 是負(fù)數(shù),返回 -1 。
如果 x 是等于 0 ,返回 0 。
給你一個(gè)整數(shù)數(shù)組 nums 。令 product 為數(shù)組 nums 中所有元素值的乘積。
返回 signFunc(product) 。
示例 1:輸入:nums = [-1,-2,-3,-4,3,2,1] 輸出:1 解釋:數(shù)組中所有值的乘積是 144 ,且 signFunc(144) = 1示例 2:輸入:nums = [1,5,0,2,-3] 輸出:0 解釋:數(shù)組中所有值的乘積是 0 ,且 signFunc(0) = 0示例 3:輸入:nums = [-1,1,-1,1,-1] 輸出:-1 解釋:數(shù)組中所有值的乘積是 -1 ,且 signFunc(-1) = -1提示:
- 1 <= nums.length <= 1000
- -100 <= nums[i] <= 100
解題思路
因?yàn)楹瘮?shù) signFunc(x) 將會(huì)根據(jù) x 的正負(fù)返回特定值,而我們需要返回的結(jié)果為 signFunc(product)(product 為數(shù)組 nums 中所有元素值的乘積),所以我們不需要關(guān)心我們最后乘積的大小,我們只需要關(guān)心乘積的正負(fù)號(hào)。因此我們只需要處理:
代碼
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;} };- 時(shí)間復(fù)雜度O(n),n為nums數(shù)組的長度
- 空間復(fù)雜度O(1),只需要使用一個(gè)變量表示符號(hào)
總結(jié)
以上是生活随笔為你收集整理的1822. 数组元素积的符号的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到吃青枣是什么意思
- 下一篇: 1805. 字符串中不同整数的数目