数组的中心位置
题目
给你一个整数数组nums
,请计算数组的中心位置。
数组中心位置是数组的一个下标,其左侧所有元素相乘的积等于右侧所有元素相乘的积。
数组第一个元素的左侧积为1
,最后一个元素的右侧积为1
。
如果数组有多个中心位置,应该返回最靠近左边的那一个。
如果数组不存在中心位置,返回-1
。
输入
输入只有一行,给出 N 个正整数用空格分格:nums = 2 5 3 6 5 6
1 <= nums.length <= 1024
1 <= nums[i] <= 10
输出描述
输出:3
示例一
输入
2 5 3 6 5 6
输出
3
说明
中心位置是 3
。
左侧数之积 sum = nums[0] * nums[1] * nums[2] = 2 * 5 * 3 = 30
,
右侧数之积 sum = nums[4] * nums[5] = 5 * 6 = 30
,二者相等。
编码思路
- 输入一行字符串,根据空格分割成整数数组
- 从左到右枚举数组中的元素,如果两边的积相等,就返回该位置的索引
核心知识点
split()
方法:分割字符串map()
函数:将字符串转换为整数
使用说明
参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。
Python 代码实现
def solve_method