(Easy) Find Pivot Index - LeetCode

Description:

Given an array of integers nums, write a method that returns the "pivot" index of this array.

We define the pivot index as the index where the sum of the numbers to the left of the index is equal to the sum of the numbers to the right of the index.

If no such index exists, we should return -1. If there are multiple pivot indexes, you should return the left-most pivot index.

Example 1:

Input: 
nums = [1, 7, 3, 6, 5, 6]
Output: 3
Explanation: 
The sum of the numbers to the left of index 3 (nums[3] = 6) is equal to the sum of numbers to the right of index 3.
Also, 3 is the first index where this occurs.

Example 2:

Input: 
nums = [1, 2, 3]
Output: -1
Explanation: 
There is no index that satisfies the conditions in the problem statement.

Note:

  • The length of nums will be in the range [0, 10000].
  • Each element nums[i] will be an integer in the range [-1000, 1000].
Accepted
81,788
Submissions
196,123

Solution:

class Solution {
    public int pivotIndex(int[] nums) {
        if(nums==null||nums.length ==0){
            return -1;
        }
        
        for(int i = 0; i< nums.length; i++){
            
            if(check(nums, i)){
                return i;
            }
        }
        
        return -1;
    }
    
    
    public boolean check(int[] nums, int index){
        
        int sum1 = 0; 
        int sum2 = 0; 
        
        for(int i = 0; i<=index;i++ ){
            sum1 = sum1 + nums[i];
        
        }
        
        for(int i = index ; i<nums.length; i++){
            
            sum2 = sum2 +nums[i];
        }
        
        if(sum1 == sum2){
            return true;
        }
        else{
            return false;
        }
    }
}

Runtime and Memory peformance is not that good and could be possibly improved, but accepted and past all test cases however.

猜你喜欢

转载自www.cnblogs.com/codingyangmao/p/11433439.html