python 寻找数组的中心索引_Leetcode724查找数组Python的中心索引,LeetCode724,寻找,python...

寻找数组的中心索引

这一次打卡不知道又摸了多久的鱼,周五没做题,周日补上。

题目

给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。

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

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

示例 1:

输入:

nums = [1, 7, 3, 6, 5, 6]

输出: 3

解释:

索引3 (nums[3] = 6) 的左侧数之和(1 + 7 + 3 = 11),与右侧数之和(5 + 6 = 11)相等。

同时, 3 也是第一个符合要求的中心索引。

示例 2:

输入:

nums = [1, 2, 3]

输出: -1

解释:

数组中不存在满足此条件的中心索引。

说明:

nums 的长度范围为 [0, 10000]。

任何一个 nums[i] 将会是一个范围在 [-1000, 1000]的整数。

解题思路

所最终求得的nums[i]两边的总和是相同的,因为从左边进行遍历,即存在公式S(nums)- nums[i] = S(leftnums),对数组进行遍历,找到满足该等式的i值,返回i。如果没有找到,则返回-1。解题步骤如下:

对传入数组用sum()函数进行求和

遍历数组,寻找满足S(nums)- nums[i] = S(leftnums)的i值

若存在,返回i,若不存在,返回-1

代码

class Solution(object):

def pivotIndex(self, nums):

S = sum(nums)

leftsum = 0

for i in range(len(nums)):

if leftsum * 2 == S - nums[i]:

return i

leftsum += nums[i]

else:

return -1

复杂度分析

时间复杂度:O(N)O(N),其中 NN 是

nums

的长度。

空间复杂度:O(1)O(1),使用了

S

leftsum

小结

今天没有用到第二种解法,所以我决定再去刷一道题弥补一下。每日一句如下:

我要再和生活死磕几年。要么我就毁灭,要么我就注定铸就辉煌。如果有一天,你发现我在平庸面前低了头,就向我开炮。

————杰克.凯鲁亚克《在路上》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法--动态规划

动态规划需要弄清楚两个问题,首先子问题的最优解,其次重叠子问题。首先来看一个问题吧: 有3种硬币,对应的面值是1、2、4,如果要组成11元,最少需要几枚硬币呢? 思路:考虑组成0元&…

[译]机器人操作系统简介:终极机器人应用框架(上)

2019独角兽企业重金招聘Python工程师标准>>> [译]机器人操作系统简介&#xff1a;终极机器人应用框架 /*** 原文出处&#xff1a;https://www.toptal.com/robotics/introduction-to-robot-operating-system* author dogstar.huang <chanzonghuanggmail.com> 2…

底量超顶量超级大黑马指标源码_一旦出现底量超顶量形态,是超级大黑马诞生!...

一、底量超顶量当股价形成头部时&#xff0c;成交量必须放大&#xff0c;这种放量虽然不能和上市前三天相比&#xff0c;但也必须是相对天量&#xff0c;随即出现天价。但是&#xff0c;有些个股在形成头部之时&#xff0c;成交量只是象征性地放大&#xff0c;换手率低&#xf…

AIKit v4.11.0 – WordPress AI 自动编写器、聊天机器人、写作助手和内容重定向器 / OpenAI GPT 插件

AIKit v4.11.0&#xff1a;WordPress的AI革命 一、引言 AIKit v4.11.0是一款为WordPress用户精心设计的强大插件&#xff0c;该插件集成了OpenAI的GPT-3技术&#xff0c;为用户提供了前所未有的AI写作和聊天机器人功能。此版本的推出&#xff0c;将WordPress的功能扩展到了全新…

精华阅读第6期|程序猿的世界,你不懂!

上周&#xff0c;微信圈被一篇文章刷屏了&#xff01;那就是西乔出品的《你为什么总招不到程序员&#xff1f;》&#xff0c;西乔的漫画之所以这么火&#xff0c;很重要的原因就是她懂程序猿的生活&#xff0c;同时作品也能够引起大家的共鸣。其实&#xff0c;移动开发精英俱乐…

ai建立使用图案_ai自定义图案的方法详解步骤图

1.ai中如何制作剪纸纹理图案确定以后&#xff0c;大概可以看到这样的操作界面&#xff0c;界面上多了一个”图案选项“面板&#xff0c;在软件界面中心&#xff0c;可以看到的图案是5排5列的图形&#xff0c;也就是”图案选项“下面显示的份数”5X5“&#xff0c;也可以自己另外…

nginx(五)rewrite

**ngx_http_rewrite_module模块配置**将请求的uri基于正则表达式进行重写&#xff1b;例&#xff1a;http-->httpsdomain1.tld-->domain2.tlduri1-->uri2指令&#xff1a;rewrite regex replacement [flag];regex:正则表达式&#xff0c;用于匹配用户请求的uri&#x…

恒生估值系统_恒生指数和恒生国企指数投资价值分析

恒生指数和恒生国企指数都是港股的大蓝筹指数。恒生指数是从香港股票市场挑选出50只优质蓝筹股票组成的指数。恒生国企指数又称为H股指数。H股指注册地在内地&#xff0c;但是上市地在香港的外资股票。恒生国企指数的成分股数目是没有限制的&#xff0c;但是必须为市值最大&…

java程序练习

数组求和作业 开发环境&#xff1a;java 工具&#xff1a;eclipse 两种数据类型excel和csv 在同学建议下&#xff0c;我选择用csv文件打开&#xff0c;这就引来了第一个问题&#xff0c;在java中如何调用csv文件。以下是我百度的结果 http://www.educity.cn/java/627496.html &…

mysql数据库增删改查关键字_MySQL数据库(增删改查语句)

MySQL数据库(增删改查语句)一.登录数据库&#xff1a;----> mysql -uroot -proot;(对应用户名和密码)二.SQL语句&#xff1a; 数据定义语言DDL 用来定义数据库、表、列&#xff0c;关键字为 create、alter、drop 数据操作语言DML 用来进行数据库更新的操作&#xf…

ECC 算法

一、简介 1&#xff09;椭圆曲线密码学的初级读本 http://8btc.com/thread-1240-1-1.html 2&#xff09;ECC加密算法入门介绍 http://www.pediy.com/kssd/pediy06/pediy6014.htm &#xff13;&#xff09;ECC算法原理的认识 http://blog.csdn.net/sszgg2006/article/details/41…

hwd是长宽高吗_五菱皮卡要来了,五种形态任你选,颜值是你期待的吗?

近日&#xff0c;网友上传了五菱皮卡的渲染图&#xff0c;引起了大家对五菱皮卡的热烈讨论。在刚过去的2020年&#xff0c;五菱凭借性价比超高的宏光MINI EV成为了新能源领域的领头羊&#xff0c;而后推出的‘大四座’家用车五菱凯捷也取得了五万台的预定量&#xff0c;五菱一时…

Java多线程:用三个线程控制循环输出10次ABC

题目&#xff1a;有A,B,C三个线程, A线程输出A, B线程输出B, C线程输出C&#xff0c;要求, 同时启动三个线程, 按顺序输出ABC, 循环10次。 解题思路&#xff1a;要按顺序输出ABC, 循环10次&#xff0c;就要控制三个线程同步工作&#xff0c;也就是说要让三个线程轮流输出&#…

mysql if语句后面执行两个语句_MySQL的if,case语句使用总结

Mysql的if既可以作为表达式用&#xff0c;也可在存储过程中作为流程控制语句使用&#xff0c;如下是做为表达式使用&#xff1a;IF表达式IF(expr1,expr2,expr3)如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL)&#xff0c;则 IF()的返回值为expr2; 否则返回值则…

mac mysql 默认字符集_MacOS中Mysql设置默认字符集

一、查看字符集mysql> show variables like character%;-------------------------------------------------------------------------------------| Variable_name | Value |----------------------------…

原创 通过PEB获得进程路径 (附完整工程)

完整工程&#xff1a;http://files.cnblogs.com/files/Gotogoo/%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86%E5%99%A8%28x86%26%26x64%29.zip PEB&#xff08;Process Environment Block&#xff0c;进程环境块&#xff09;存放进程信息&#xff0c;每个进程都有自己的PEB信息。位于…

土豚mysql_树莓派LNMP配置

修改软件源1.首先备份源列表&#xff1a;sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup2.而后打开sources.list文件修改&#xff1a;sudo vim /etc/apt/sources.list软件源可已在网上查查&#xff0c;有ubuntu官方的、阿里云的、清华的等需要注意首先查看自己的…

Windbg SOS and CLR版本不一致的解决方案

由于测试服务环境与Windbg运行环境的差异&#xff0c;这就可能出现Windbg在分析dump文件时.net sos.dll和mscordacwks.dll版本不一致问题&#xff0c;从而导致windbg调试器的扩展命令无法正常使用&#xff0c;具体的解决方法如下&#xff1a;1.首先定义Windgb symbols路径&…

mysql镜像远程连接_docker 创建mysql镜像,并成功进行远程连接

1.安装1.1 拉取镜像docker pull mysql拉取成功可以验证一下docker images1.2 创建并启动一个mysql容器docker run --name ly-mysql -e MYSQL_ROOT_PASSWORD123456 -p 3306:3306 -d mysql–name&#xff1a;给新创建的容器命名&#xff0c;此处命名为ly-mysql-e&#xff1a;配置…

[DIV/CSS] 【译】60个有用CSS代码片段

2019独角兽企业重金招聘Python工程师标准>>> 1、垂直对齐 如果你用CSS&#xff0c;则你会有困惑&#xff1a;我该怎么垂直对齐容器中的元素&#xff1f;现在&#xff0c;利用CSS3的Transform&#xff0c;可以很优雅的解决这个困惑&#xff1a; .verticalcenter{posi…