leetcode 1712. Ways to Split Array Into Three Subarrays Problem: 1712. 将数组分成三个子数组的方案数前缀和后缀和双指针第一个指针是i第二个指针是23部分累加和的一半的位置也就是rem prefix.back() - prefix[i], half (rem / 2) (((rem%2) 0)? 0:1);此时第二个指针ind0指向可能的最右侧累加两个指针的距离就行, 第一个指针ind1指向可能的最左侧ind0 lower_bound(after.begin(), after.end(), half) - after.begin();特殊情况是全0Codeclass Solution { public: const int mod 1e9 7; int waysToSplit(vectorint nums) { vectorint prefix{0}, after{0}; int n nums.size(), zero 0; for(int i 0; i n; i) { prefix.push_back(prefix.back() nums[i]); } for(int i n-1; i 0; i--) { after.push_back(after.back() nums[i]); } after.erase(after.begin()); unsigned long long sum 0; int ind0, ind1, now, rem, half; for(int i 1; i n; i) { now prefix[i]; rem prefix.back() - now; if(rem now * 2) continue; half (rem / 2) (((rem%2) 0)? 0:1); ind0 lower_bound(after.begin(), after.end(), half) - after.begin(); ind0 n - ind0; ind1 lower_bound(prefix.begin() i 1, prefix.end(), now * 2) - prefix.begin(); if(ind0 n) { while(prefix[ind0] - now prefix.back() - prefix[ind0]) ind0--; while(ind1 n prefix[ind1] - now now) ind1; if(ind0 ind1) { sum ind0 - ind1 1; if(prefix[ind0] 0 prefix.back() - prefix[ind0]0) sum--; sum sum % mod; } } } return sum % mod; } };

相关新闻

最新新闻

零基础上手 OpenClaw,详解解压部署与路径设置要点(含安装包)

零基础上手 OpenClaw,详解解压部署与路径设置要点(含安装包)

OpenClaw 一键部署教程|摆脱环境配置烦恼,快速搭建本地 AI 自动化工具 适配系统:Windows10/11 64 位、macOS 12 及以上 当前版本:Windows v2.9.3、macOS v2.7.9 压缩包体积:45.8MB 工具简述 OpenClaw 是一款面向桌面…

2026/8/11 0:29:19
IT项目经理:项目第一责任人的核心职责与工作范围

IT项目经理:项目第一责任人的核心职责与工作范围

一、引言:IT项目经理为什么是项目第一责任人在IT项目的全生命周期中,项目经理(Project Manager,PM)不是简单的传话筒或会议组织者,而是对项目成败承担最终责任的第一责任人。从需求确认、资源调配、进度管控…

2026/8/11 0:29:19
在Apple Silicon Mac上无缝运行Windows应用:Whisky终极兼容解决方案

在Apple Silicon Mac上无缝运行Windows应用:Whisky终极兼容解决方案

在Apple Silicon Mac上无缝运行Windows应用:Whisky终极兼容解决方案 【免费下载链接】Whisky A modern Wine wrapper for macOS built with SwiftUI 项目地址: https://gitcode.com/gh_mirrors/wh/Whisky 还在为Mac无法运行心仪的Windows软件而烦恼吗&#x…

2026/8/11 0:29:19
DWSurvey更新:新增短信验证与填空题判分功能,多项优化提升答卷与考试体验

DWSurvey更新:新增短信验证与填空题判分功能,多项优化提升答卷与考试体验

DWSurvey更新:新增功能与安全体验升级DWSurvey此次更新带来多项新特性。新增验证手机号后查看、修改已答问卷功能,这一举措显著提升了答卷的安全性,让企业和用户对问卷数据的保密性更有信心。同时,新增填空题判分功能,…

2026/8/11 0:29:19
slap:免费开源跨平台的ROM补丁工具,支持六种操作且性能测试表现出色!

slap:免费开源跨平台的ROM补丁工具,支持六种操作且性能测试表现出色!

突发:slap——多功能ROM补丁工具登场 ROM补丁工具可将补丁文件应用到游戏文件上,把原始文件转换为变体,如翻译版、修复版或其他修改版本。通常,分发游戏修改成果是制作并分发用于原始文件的补丁。 工具简介 有开发者开发了一款名为…

2026/8/11 0:29:19
AI新工程内卷:Loop与Graph Engineering彻底讲透

AI新工程内卷:Loop与Graph Engineering彻底讲透

文章目录前言1. 为啥AI圈天天冒新“工程”名词1.1 本质全是模型不靠谱逼的1.2 五个名词刚好是一条升级路线2. Loop Engineering:把手动催更的你给解放了2.1 这概念到底是怎么火的2.2 一套循环就四个核心零件2.3 哪些场景用它最划算3. Graph Engineering:…

2026/8/11 0:24:19