zoukankan      html  css  js  c++  java
  • 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 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].

  1. /**
  2. * @param {number[]} nums
  3. * @return {number}
  4. */
  5. var pivotIndex = function(nums) {
  6. if (nums.length < 3) {
  7. return nums.length % 2 == 0 ? -1 : 1;
  8. }
  9. let sum = 0;
  10. nums.map((num) => { sum += num });
  11. let res = -1;
  12. let leftSum = 0;
  13. for (let i = 0; i < nums.length; i++) {
  14. sum -= nums[i];
  15. if (leftSum == sum) {
  16. res = i;
  17. break;
  18. }
  19. leftSum += nums[i];
  20. }
  21. return res;
  22. };



来自为知笔记(Wiz)


查看全文
  • 相关阅读:
    简单背包问题
    拓扑排序
    SPFA--P3905 道路重建
    Floyd--P1119 灾后重建
    Kmp--P3375 【模板】KMP字符串匹配
    练习 后缀数组
    BZOJ1036: [ZJOI2008]树的统计Count(树链剖分)
    BZOJ1503: [NOI2004]郁闷的出纳员(Splay)
    BZOJ2733: [HNOI2012]永无乡(线段树合并)
    BZOJ4196: [Noi2015]软件包管理器(树链剖分)
  • 原文地址:https://www.cnblogs.com/xiejunzhao/p/7846749.html
  • Copyright © 2011-2022 走看看