Learning GoLang - 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) = 1Example 2:
Input: nums = [1,5,0,2,-3]
Output: 0
Explanation: The product of all values in the array is 0, and signFunc(0) = 0Example 3:
Input: nums = [-1,1,-1,1,-1]
Output: -1
Explanation: The product of all values in the array is -1, and signFunc(-1) = -1Constraints:
1 <= nums.length <= 1000
-100 <= nums[i] <= 100
GoLang: Sign Function of the Product of Numbers
We don't need to know the final product of all numbers in the array. We do only need to know if there is zero, or the number of negative numbers.
func arraySign(nums []int) int { var c = 0 for _, v := range nums { if v == 0 { return 0 } else if v < 0 { c += 1 } } if (c & 1) == 1 { return -1 } return 1 }
Time complexity O(N). Space complexity O(1). As we are not multiplying - thus there is no risk of integer overflow.
Reposted to Blog
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Thank you for reading ^^^^^^^^^^^^^^^
NEW! Following my Trail (Upvote or/and Downvote)
Follow me for topics of Algorithms, Blockchain and Cloud.
I am @justyy - a Steem Witness
https://steemyy.com
My contributions
- Video Downloader
- Steem Blockchain Tools
- Free Cryptos API
- VPS Database
- Computing Technology Blog
- A few useless tools
- And some other online software/tools
- Merge Files/Videos
- LOGO Turtle Programming Chrome Extension
- Teaching Kids Programming - Youtube Channel and All Contents
Delegation Service
Support me
If you like my work, please:
- Buy Me a Coffee, Thanks!
- Become my Sponsor, Thanks!
- Voting for me:
https://steemit.com/~witnesses type in justyy and click VOTE
- Delegate SP: https://steemyy.com/sp-delegate-form/?delegatee=justyy
- Vote @justyy as Witness: https://steemyy.com/witness-voting/?witness=justyy&action=approve
- Set @justyy as Proxy: https://steemyy.com/witness-voting/?witness=justyy&action=proxy
Alternatively, you can vote witness or set proxy here: https://steemit.com/~witnesses
!shop
[WhereIn Android] (http://www.wherein.io)
你好鸭,justyy!
@dog-2022给您叫了一份外卖!
烧烤
吃饱了吗?跟我猜拳吧! 石头,剪刀,布~
如果您对我的服务满意,请不要吝啬您的点赞~
Hello dear friend @justyy good day
You do a great job of keeping our blockchain in order. Thank you
have a prosperous week
This post has been featured in the latest edition of Witness Weekly...