news 2026/2/11 7:11:15

力扣刷题:将数组分成和相等的三个部分

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣刷题:将数组分成和相等的三个部分

给你一个整数数组 arr,只有可以将其划分为三个和相等的 非空 部分时才返回 true,否则返回 false。

形式上,如果可以找出索引 i + 1 < j 且满足 (arr[0] + arr[1] + … + arr[i] == arr[i + 1] + arr[i + 2] + … + arr[j - 1] == arr[j] + arr[j + 1] + … + arr[arr.length - 1]) 就可以将数组三等分。

示例 1:

输入:arr = [0,2,1,-6,6,-7,9,1,2,0,1]
输出:true
解释:0 + 2 + 1 = -6 + 6 - 7 + 9 + 1 = 2 + 0 + 1

示例 2:

输入:arr = [0,2,1,-6,6,7,9,-1,2,0,1]
输出:false

示例 3:

输入:arr = [3,3,6,5,-2,2,5,1,-9,4]
输出:true
解释:3 + 3 = 6 = 5 - 2 + 2 + 5 + 1 - 9 + 4

解析:
1 计算总和,检查是否能被3整除

2 每部分的目标值是 sum/3

3 遍历数组累加,每当累加和等于 target 时,就找到了一段

4 重置累加器继续找下一段

5 如果能找到至少3段(注意最后一段会自动满足),就返回 true

/** * 检查数组是否能被分成三个连续非空子数组,且每个子数组的和相等 * @param {number[]} arr - 输入的整数数组 * @return {boolean} */varcanThreePartsEqualSum=function(arr){// 1. 计算数组所有元素的总和letsum=0for(leti=0;i<arr.length;i++){sum+=arr[i]}// 2. 如果总和不能被3整除,直接返回false// 因为三部分和相等的话,每部分必须是总和的三分之一if(sum%3)returnfalse// 3. 初始化计数器和当前累加和letcount=0// 记录已经找到的和等于目标值的子数组个数letcurrent=0// 当前子数组的累加和consttarget=sum/3// 每个子数组应该达到的目标值// 4. 遍历数组寻找满足条件的子数组for(leti=0;i<arr.length;i++){current+=arr[i]// 将当前元素加入累加和// 如果当前累加和等于目标值,说明找到了一个符合条件的子数组if(current===target){count++// 找到的子数组数量加1current=0// 重置累加和,开始寻找下一个子数组}}// 5. 如果找到至少3个满足条件的子数组,返回true// 注意:count可能大于3,比如数组中有0的情况:// [1,0,0,1,0,0,1] → 总和=3,target=1,count=7returncount>=3};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 13:07:15

能源负荷预测:TensorFlow时序模型实战

能源负荷预测&#xff1a;TensorFlow时序模型实战 在现代电力系统中&#xff0c;一个看似简单的问题却牵动着整个电网的神经——明天这个时候&#xff0c;城市需要多少电&#xff1f;这个问题背后&#xff0c;是能源负荷预测的核心挑战。随着可再生能源比例上升、用电行为日益复…

作者头像 李华
网站建设 2026/2/5 6:32:53

智谱开源Open-AutoGLM地址曝光(Mac端AI推理终极指南)

第一章&#xff1a;智谱开源Open-AutoGLM地址曝光背景解析近期&#xff0c;智谱AI正式对外公开了其自动化机器学习框架 Open-AutoGLM 的开源地址&#xff0c;标志着国产大模型在自动化推理与图学习领域迈出了关键一步。该项目的发布不仅填补了中文语境下自动化图学习工具链的空…

作者头像 李华
网站建设 2026/2/7 4:13:35

es客户端快速入门:5个关键API调用手把手教学

从零上手Elasticsearch客户端&#xff1a;5个高频API实战精讲你有没有遇到过这样的场景&#xff1f;用户在搜索框输入“降噪耳机”&#xff0c;系统却返回一堆无关商品&#xff1b;后台想统计各品牌销量分布&#xff0c;SQL跑了几分钟还没出结果&#xff1b;新商品上架半天&…

作者头像 李华
网站建设 2026/2/5 16:39:13

如何快速掌握EmojiOne彩色表情符号字体的完整指南

在现代数字沟通中&#xff0c;表情符号已经成为不可或缺的表达工具。EmojiOne彩色表情符号字体通过SVGinOT技术&#xff0c;为用户带来了前所未有的视觉体验。本文将为您详细介绍这款彩色表情符号字体的安装、使用和优化技巧&#xff0c;让您轻松掌握这项强大的沟通工具。 【免…

作者头像 李华
网站建设 2026/2/10 16:56:50

5步掌握CLIP:零样本图像分类实战指南

5步掌握CLIP&#xff1a;零样本图像分类实战指南 【免费下载链接】CLIP CLIP (Contrastive Language-Image Pretraining), Predict the most relevant text snippet given an image 项目地址: https://gitcode.com/GitHub_Trending/cl/CLIP 引言&#xff1a;抓住痛点&am…

作者头像 李华