zoukankan      html  css  js  c++  java
  • [LeetCode] 724. Find Pivot Index

    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 all the numbers to the left of the index is equal to the sum of all 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.

    Constraints:

    • The length of nums will be in the range [0, 10000].
    • Each element nums[i] will be an integer in the range [-1000, 1000].

    寻找数组的中心索引。

    题意是给一个数组,找到一个中心索引。这个中心索引 i 的定义是使得数组在 i 左边的子数组的和 = 数组在 i 右边的子数组的和,其中左右两边的计算不包括nums[i]。

    思路是前缀和。我们先计算整个数组的前缀和sum。再次扫描数组,此时我们需要再找一个左起的前缀和 leftSum ,同时找一个index满足 leftSum = sum - nums[i] - leftSum。如果能找到就返回这个index,如果找不到就返回-1。

    时间O(n)

    空间O(1)

    Java实现

     1 class Solution {
     2     public int pivotIndex(int[] nums) {
     3         int sum = 0;
     4         for (int num : nums) {
     5             sum += num;
     6         }
     7 
     8         int leftSum = 0;
     9         for (int i = 0; i < nums.length; i++) {
    10             if (leftSum == sum - nums[i] - leftSum) {
    11                 return i;
    12             }
    13             leftSum += nums[i];
    14         }
    15         return -1;
    16     }
    17 }

    LeetCode 题目总结

  • 相关阅读:
    模拟赛2020.9.11
    棋盘(dfs)
    树的重心
    模拟赛9.4
    最大数(线段树)
    [模板] 线段树
    [模板][数据结构] 树状数组
    [AHOI2018初中组][二分查找] 分组
    [模板] Kruskal 求最小生成树
    [模板] 最近公共祖先(LCA)的几种求法
  • 原文地址:https://www.cnblogs.com/cnoodle/p/13900751.html
Copyright © 2011-2022 走看看