前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >寻找数组的中心索引

寻找数组的中心索引

作者头像
雷子
发布2021-03-15 14:53:19
8370
发布2021-03-15 14:53:19
举报
文章被收录于专栏:雷子说测试开发
代码语言:javascript
复制
题目:
给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。

我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。

如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。

上面这么一道题,是我在刷题的时候遇到的,其实这道题也不难,就是list的元素和,判断最后是否满足 左边的等于后边的和,返回索引。

我们需要找一个标,依次移动,然后看下标的元素左右的元素之和是否满足。如果满足,我们就返回。当然了,我们还去掉一些特殊情况。

实现起来没有那么难,我们看看python是怎么实现的

代码语言:javascript
复制
class Solution:
    def pivotIndex(self, nums) -> int:
        if len(nums)==0:
            return -1
        if len(nums)==1:
            return 0
        for i in range(0,len(nums)):
            if sum(nums[0:i])==sum(nums[i+1:len(nums)]):
                return i
        return -1

这样就实现了,当然了,这里写不好,可能会出现运行时间过长的,我在这里面的写法,利用了sum函数。这样运行的效率还是有一定提高的。最近在面试,坚持每天刷一些算法题,去提高自己。题目的本身不是特别难的,我中间经过了几次改版,最后才形成了这个,之前是部分的数组验证无法满足需求,后来感觉不够精简。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档