news 2026/5/3 16:46:37

leetcode 困难题 927. Three Equal Parts 三等分-耗时100

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 困难题 927. Three Equal Parts 三等分-耗时100

Problem: 927. Three Equal Parts 三等分

耗时100%,可能存在前置0,所以逆向思考的,首先统计0、1频次,若1的个数不能被3整除则不可能返回-1,若没有1则返回{0, n-1},每个二进制数字的1的个数都是ch[1]/3,逆向考虑的话,最后一个二进制数字不需要考虑前置0,只需要数1个数就行了,所以拼接字符串当third == avg时退出,然后反转字符串tg3

再考虑第一个二进制数字,从1开始略过前置0,拼接字符串,若tg1==tg3则退出,最后考虑第二个二进制数字,也是忽略前置0拼接字符串,若和tg3相同则返回结果,否则返回-1

Code

class Solution { public: vector<int> threeEqualParts(vector<int>& arr) { int ch[2] = {0, 0}, n = arr.size(); for(int& i : arr) ch[i]++; int avg = ch[1] / 3; if(ch[1]%3!=0) return {-1, -1}; if(ch[1] == 0) return {0, n - 1}; int third = 0, ii, jj; string tg3, tg1, tg2; for(int i = n - 1; i >= 0; i--) { if( arr[i] == 1 ) third++; tg3 += (arr[i] + '0'); if(third == avg) { jj = i; break; } } reverse(tg3.begin(), tg3.end()); int l = 0; while(l < jj && arr[l]==0) l++; for(int i = l; i < jj; i++) { tg1 += (arr[i] + '0'); if(tg1 == tg3) { ii = i; break; } } l = ii + 1; while(l < jj && arr[l]==0) l++; for(int i = l; i < jj; i++) { tg2 += (arr[i] + '0'); if(tg2 == tg3) { jj = i + 1; return {ii, jj}; } } return {-1, -1}; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 8:34:14

百考通六大分析方法,覆盖全方位研究需求

在数据驱动的时代&#xff0c;无论是学术研究还是商业决策&#xff0c;数据分析能力已成为核心竞争力。然而&#xff0c;面对复杂的统计方法、繁琐的操作流程和专业的报告撰写&#xff0c;许多人望而却步&#xff1a;研究者被SPSS、R等工具的操作门槛所困扰&#xff0c;企业分析…

作者头像 李华
网站建设 2026/5/1 9:25:08

Vite+Vue3项目浏览器加载白屏(用其他浏览器又正常)

vue3vite项目启动报错&#xff1a; GET http://localhost:5173/node_modules/.vite/deps/crypto-js.js?v5daf9760 net::ERR_CACHE_READ_FAILURE 200 (OK) arrayDeduplicateUtils.ts:1 GET http://localhost:5173/node_modules/.vite/deps/lodash-es.js?v5daf9760 net::ERR_CA…

作者头像 李华
网站建设 2026/5/3 10:27:52

门店管理软件如何成为实体商家数字化转型的关键基石

于零售跟服务业数字化转型的进程当中&#xff0c;门店管理开发软件已然变成实体经营不可缺少的基石&#xff0c;此类软件借由整合前端的顾客交互以及后台的运营管理&#xff0c;把商品、库存、会员、财务还有营销等环节连接成一个高效协同的数字系统&#xff0c;对期望提升运营…

作者头像 李华
网站建设 2026/5/3 12:43:56

基于HTML5的大文件分块上传插件如何支持断点续传功能?

一个大三仔的编程血泪史&#xff1a;大文件上传系统开发实录 前言 各位老铁们好&#xff0c;我是广西某不知名大学网络工程专业的大三学生&#xff0c;最近被导师逼着做一个"支持10G文件上传、断点续传、文件夹层级保留、全浏览器兼容、还要加密传输存储"的变态文件…

作者头像 李华