class Solution(object):
def canThreePartsEqualSum(self, A: 'List[int]') -> bool:
n = len(A)
sums = sum(A)
if sums % 3 != 0:
return False
target = sums // 3 leftpart = 0
leftboundary = n -1
for i in range(n-2):
leftpart += A[i]
if leftpart == target:
leftboundary = i
break rightpart = 0
rightboundary = 0
for j in range(n-1,1,-1):
rightpart += A[j]
if rightpart == target:
rightboundary = j
break if leftboundary < rightboundary:
return True
return False

先判断数组之和是否是3的倍数,如果不是,那么不能三等分。

如果可以,先确定1/3的值,保存在变量target中。

从左向右逐项相加,找到第一组等于target的值的索引,记为i。

从右向左逐项相加,找到第一组等于target的值的索引,记为j。

如果i<j,则可以三等分。

时间复杂度O(n)(三次遍历),64ms,17.4MB。

leetcode1013的更多相关文章

  1. [Swift]LeetCode1013. 将数组分成和相等的三个部分 | Partition Array Into Three Parts With Equal Sum

    Given an array A of integers, return true if and only if we can partition the array into three non-e ...

随机推荐

  1. C++进阶--公有继承的二元性

    //########################################################################### /* * 公有继承的两元性 * * - 接口 ...

  2. PAT 乙级 1063 计算谱半径(20) C++版

    1063. 计算谱半径(20) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 在数学中,矩阵的“谱半径”是指其特 ...

  3. 廖雪峰Java5集合-3Map-1使用Map

    廖雪峰的视频不全,以下是疯狂Java关于Map的讲解 1.Map定义 Map是一种键值映射表,可以通过key快速查找value,同python的dict.key不允许重复,value可以重复. Map ...

  4. github中fork的使用

    转载https://www.cnblogs.com/patchouli/p/6511251.html 由于git的权限控制功能比较弱,如果想给某个项目提供代码除了直接获得项目的push权限外,gith ...

  5. LAN

    一. 局域网(LAN) 是一个覆盖地理范围相对较小的高速容错数据网络,它包括工作站.个人计算机.打印机和其它设备.LAN 为计算机用户提供了资源共享的设备访问,如打印.文件交换.电子邮件交换等等. 局 ...

  6. [UE4]蓝图比C++慢10倍,是吗?

    首先,蓝图肯定是比C++慢. 任何脚本语言(需要解释执行的语言),和C++相比可能达到十倍甚至百倍的差距.比如Java.Python.Lua,JS. 脚本语言是运行在虚拟机上的,所以它们比起直接运行的 ...

  7. [UE4]Canvas Panel应用小技巧

    当设置为满屏拉伸的时候,只要把“偏移左侧”和“偏移底部”都设置为0,就会自动拉伸为整屏了.再也不需要手动担心拉不满屏了.

  8. MySql 索引优化实例

    查询语句 SELECT customer_id,title,content FROM `product_comment` WHERE audit_status=1 AND product_id=199 ...

  9. Mongodb集群搭建之 Sharding+ Replica Sets集群架构

    1.本例使用1台Linux主机,通过Docker 启动三个容器 IP地址如下: docker run -d -v `pwd`/data/master:/mongodb -p 27017:27017 d ...

  10. [SQL]SQL Server 事务及回滚事务

    第一种: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/ ...