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 题目总结

  • 相关阅读:
    试算平衡
    对账服务
    会计科目与账户
    支付系统难点全面梳理剖析:核算对账核心
    支付系统设计——你不可不知的会计核心(转发整理)
    支付系统设计之查漏补缺的一环:差错账处理
    支付清算业务总结
    财务对账系统v1.0立项到结项的整体回顾
    DNS视图及压力测试(四)
    一个快速检测系统CPU负载的小程序
  • 原文地址:https://www.cnblogs.com/cnoodle/p/13900751.html
Copyright © 2011-2022 走看看