数组操作
读取数组中的元素,是通过访问索引的方式来读取的,一般从0位置开始。
对于数组,计算机在内存中为其申请一段 连续 的空间,且会记下索引为0处的内存地址。主要的四种操作为:读取,查找,插入和删除元素。
1.寻找数组的中心索引:
给定整数数组nums,计算数组的中心下标(其左侧所有元素相加之和等于右侧元素相加之和,注意这里不包括索引处元素本身)。如果存在多个中心下标,返回最左边的一个,如果不存在中心下标,则返回-1。
示例:
输入:nums = [1, 7, 3, 6, 5, 6]
输出:3
解释: 中心下标是 3 。
左侧数之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,
右侧数之和 sum = nums[4] + nums[5] = 5 + 6 = 11.
输入:nums = [1, 2, 3] 输出:-1
输入:nums = [2, 1, -1] 输出:0
思路:先求出数组总和,然后从左侧元素开始求部分和,通过减法实现与剩下元素之和比较。
class Solution { public: int pivotIndex(vector<int>& nums) { int i,sum=0,left_sum=0; for(i=0;i<nums.size();i++) sum+=nums[i]; for(i=0;i<nums.size();i++){ if(left_sum==sum-left_sum-nums[i]) return i; left_sum+=nums[i]; } return -1; } };
标签:下标,nums,sum,元素,索引,数组,字符串 From: https://www.cnblogs.com/chordxx/p/17363266.html