海南省建设监理协会网站优秀营销网站设计
2026/1/16 14:26:29 网站建设 项目流程
海南省建设监理协会网站,优秀营销网站设计,怎么做网站链接的快捷方式,企业vi设计作品给你一个整数数组 arr#xff0c;只有可以将其划分为三个和相等的 非空 部分时才返回 true#xff0c;否则返回 false。 形式上#xff0c;如果可以找出索引 i 1 j 且满足 (arr[0] arr[1] … arr[i] arr[i 1] arr[i 2] … arr[j - 1] arr[j] arr[j 1] ……给你一个整数数组 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/33 遍历数组累加每当累加和等于 target 时就找到了一段4 重置累加器继续找下一段5 如果能找到至少3段注意最后一段会自动满足就返回 true/** * 检查数组是否能被分成三个连续非空子数组且每个子数组的和相等 * param {number[]} arr - 输入的整数数组 * return {boolean} */varcanThreePartsEqualSumfunction(arr){// 1. 计算数组所有元素的总和letsum0for(leti0;iarr.length;i){sumarr[i]}// 2. 如果总和不能被3整除直接返回false// 因为三部分和相等的话每部分必须是总和的三分之一if(sum%3)returnfalse// 3. 初始化计数器和当前累加和letcount0// 记录已经找到的和等于目标值的子数组个数letcurrent0// 当前子数组的累加和consttargetsum/3// 每个子数组应该达到的目标值// 4. 遍历数组寻找满足条件的子数组for(leti0;iarr.length;i){currentarr[i]// 将当前元素加入累加和// 如果当前累加和等于目标值说明找到了一个符合条件的子数组if(currenttarget){count// 找到的子数组数量加1current0// 重置累加和开始寻找下一个子数组}}// 5. 如果找到至少3个满足条件的子数组返回true// 注意count可能大于3比如数组中有0的情况// [1,0,0,1,0,0,1] → 总和3target1count7returncount3};

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询