Leetcode Note: Go - Find Pivot Index
Find Pivot Index - LeetCode
https://leetcode.com/problems/find-pivot-index/
- Go 言語で取り組んだメモ
所感
- int 配列 num から pivot index を計算する
- pivot index は、インデックスの左側にある全ての数値の合計が、右側にある数値の合計と等しい index
- pivot index が存在しない場合は -1 を return する
回答
Find Pivot Index - LeetCode
https://leetcode.com/problems/find-pivot-index/solution/
6 MB, less than 100.00% of Go online submissions for Find Pivot Index. - LeetCode Discuss
https://leetcode.com/problems/find-pivot-index/discuss/912701/6-MB-less-than-100.00-of-Go-online-submissions-for-Find-Pivot-Index.
// calculate sum
// loop over array
// left + this + right = sum, using this calulate if right == left
func pivotIndex(nums []int) int {
if len(nums) <= 1 {
return len(nums)-1
}
sum:=0
left:=nums[0]
for i:=0; i<len(nums); i++ {
sum = sum + nums[i]
}
//edge case for all 0
if left == sum {
return 0
}
for i:=1; i<len(nums); i++ {
right:=sum-left-nums[i]
if right == left {
return i
}
left = left + nums[i]
}
return -1
}