尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
题解:学而思编程 最小结果
【题目来源】学而思编程最小结果【题目描述】给定一个字符串s t r strstr保证字符串由a ( a 1 ) a(a1)a(a1)个数字字符和1 11个字符’组成。现在你可以向字符串s t r strstr中添加一对括号左括号必须添加在’的左侧右括号必须添加在’的右侧假设左括号左边的数字从左到右组成的整数为p pp左括号与’‘之间的数字从左到右组成的整数为q qq’与右括号之间的数字从左到右组成的整数为r rr右括号右边的数字从左到右组成的整数为s ss。请你安排左括号和右括号的位置使得p ∗ ( q r ) ∗ s p * (q r) * sp∗(qr)∗s最小并输出这个最小值。注意如果左括号在字符串最左侧认为p 1 p1p1类似的如果右括号在字符串最右侧认为s 1 s1s1则’两边必须存在数字。【输入】一行一个字符串s t r strstr保证’的位置合法。【输出】一行一个整数表示p ∗ ( q r ) ∗ s p * (q r) * sp∗(qr)∗s的最小值。【输入样例】1234【输出样例】20【核心思想】问题分析给定由数字和单个组成的字符串在左右两侧各选一个位置插入括号将字符串分割为四部分p , q , r , s p, q, r, sp,q,r,s使得p × ( q r ) × s p \times (q r) \times sp×(qr)×s最小。其中p pp和s ss可以为空此时值为1 11q qq和r rr必须非空。这是一个枚举 字符串解析问题核心在于确定分割点的合法范围并遍历所有可能。算法选择枚举分割点左括号位置i ii在左侧遍历右括号位置j jj在右侧遍历枚举所有O ( n 2 ) O(n^2)O(n2)种分割方案字符串转整数利用substr和stoi将子串解析为整数处理前导零和边界情况关键步骤定位加号找到在字符串中的位置m i d midmid枚举左括号位置i ii从0 00到m i d − 1 mid-1mid−1p pps [ 0.. i − 1 ] s[0..i-1]s[0..i−1]组成的整数若i 0 i0i0则p 1 p1p1q qqs [ i . . m i d − 1 ] s[i..mid-1]s[i..mid−1]组成的整数枚举右括号位置j jj从m i d 1 mid1mid1到n − 1 n-1n−1r rrs [ m i d 1.. j ] s[mid1..j]s[mid1..j]组成的整数s sss [ j 1.. n − 1 ] s[j1..n-1]s[j1..n−1]组成的整数若j n − 1 jn-1jn−1则s 1 s1s1计算并更新最小值r e s u l t p × ( q r ) × s result p \times (q r) \times sresultp×(qr)×s维护全局最小值b e s t bestbest输出结果b e s t bestbest时间/空间复杂度时间复杂度O ( n 2 ⋅ L ) O(n^2 \cdot L)O(n2⋅L)其中n nn为字符串长度L LL为数字位数stoi的复杂度由于数字字符总数固定且较少实际为O ( n 2 ) O(n^2)O(n2)空间复杂度O ( 1 ) O(1)O(1)仅使用常数额外空间枚举与字符串解析的核心思想合法分割点约束左括号必须在左侧i ∈ [ 0 , m i d − 1 ] i \in [0, mid-1]i∈[0,mid−1]右括号必须在右侧j ∈ [ m i d 1 , n − 1 ] j \in [mid1, n-1]j∈[mid1,n−1]q qq和r rr必须包含至少一个数字字符边界值处理当左括号在最左侧i 0 i0i0时p 1 p1p1右括号在最右侧j n − 1 jn-1jn−1时s 1 s1s1通过条件判断避免空串转整数的错误全枚举保证最优由于分割点数量有限最多O ( n 2 ) O(n^2)O(n2)种直接枚举所有合法方案即可找到全局最小值无需复杂优化子串解析技巧利用substr(pos, len)配合stoi将字符串片段转为整数注意长度计算为mid - i和j - mid等适用于字符串分割、括号插入位置枚举类问题特别是搜索空间较小、可以直接暴力枚举的场景【算法标签】#字符串入门【代码详解】#includebits/stdc.husingnamespacestd;intmain(){string s;cins;// 输入表达式字符串intns.size();// 字符串长度intmids.find();// 找到加号的位置intbest2e9;// 初始化为一个大数// 遍历所有可能的分割方式for(inti0;imid;i)// 第一个分割点乘号在加号左边{for(intjmid1;jn;j)// 第二个分割点乘号在加号右边{// 解析四个数字inta(i0?1:stoi(s.substr(0,i)));// 第一个乘数intbstoi(s.substr(i,mid-i));// 加号左边的第二个乘数intcstoi(s.substr(mid1,j-mid));// 加号右边的第一个乘数intd(jn-1?1:stoi(s.substr(j1,n-j-1)));// 最后一个乘数// 计算表达式结果a * (b c) * dintresulta*(bc)*d;// 更新最小值if(resultbest)bestresult;}}coutbest;// 输出最小值return0;}【运行结果】1234 20
RELATED

相关推荐

3步搞定Sunshine游戏串流:小白也能上手的私人云游戏平台搭建指南

3步搞定Sunshine游戏串流:小白也能上手的私人云游戏平台搭建指南

3步搞定Sunshine游戏串流:小白也能上手的私人云游戏平台搭建指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款功能强大的自托管游戏串流服务器&#…

📅 2026/9/17 22:33:02
实战复现CitrixBleed 2漏洞:从内存越界读取到会话劫持

实战复现CitrixBleed 2漏洞:从内存越界读取到会话劫持

1. 项目概述:一次针对企业核心边界的实战化漏洞复现最近在梳理企业边界设备的安全风险时,我又一次把目光投向了Citrix NetScaler。作为全球范围内广泛应用的应用交付控制器(ADC)和网关设备,它承载着大量企业的关键业务…

📅 2026/9/17 23:11:33
免费开源鼠标连点器完整指南:告别重复点击的终极解决方案

免费开源鼠标连点器完整指南:告别重复点击的终极解决方案

免费开源鼠标连点器完整指南:告别重复点击的终极解决方案 【免费下载链接】MouseClick 🖱️ MouseClick 🖱️ 是一款功能强大的鼠标连点器和管理工具,采用 QT Widget 开发 ,具备跨平台兼容性 。软件界面美观 &#xff…

📅 2026/9/20 1:45:47
MORE NEWS

更多资讯

📰

ZLM WebRTC播放配置避坑与QoS调优实战

流媒体这块折腾久了,你会发现一个规律:点播跑得再顺,一到实时播放就原形毕露。ZLM 这套流媒体服务在安防、教育、直播回传这些场景里用得很多,HTTP-FLV、HLS 这些协议基本开箱即用,但一提到 WebRTC 播放,很…

📰

DeepSeekMoE:混合专家模型的专业化突破与实践

1. DeepSeekMoE论文核心价值解析 这篇名为《DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models》的论文,本质上是在探索如何让混合专家模型(MoE)中的每个子专家网络达到极致的专业化程度。当前主流的大语言模型虽然采用了…

📰

BIP39 助记词生成原理:从熵、校验和到 2048 词表索引映射

简介:面向imToken及区块链钱包使用者的英文助记词查询校对文档,聚焦助记词备份、恢复与拼写核对场景,适合需要确认单词拼写、排查记录误差或整理易混词的用户参考。压缩包内共1个doc文件,约166KB,集中收录2048个英文助…

📰

AI智能体开发:系统化学习路线与核心技术栈解析

1. 为什么需要AI智能体学习路线? 去年我在帮一个创业团队搭建AI客服系统时,发现一个有趣现象:团队里有三位工程师同时开始学习AI智能体开发,但三个月后他们的学习效果天差地别。一位专注工具链的工程师很快做出了demo但无法解决实…

📰

SketchUp参数化坯子插件库:建筑构件的工程化建模中枢

1. 项目概述:为什么“坯子插件库”成了SketchUp建模者的隐形加速器你有没有过这样的经历:刚打开SketchUp,画完墙体、铺好地板,正准备加门窗,突然卡在窗框厚度怎么设才不穿模;或者做室内方案时,反…

📰

从词法分析到三地址码:小型编译器的链路与避坑

简介:面向计算机专业编译原理课程设计与实验环节的配套资料包,适合正在完成词法分析、语法分析及小型编译器实现的学生参考。内容围绕词法分析器、LL(1)文法分析简单语句(如 ii*i)、LR(0)与SLR(1)语法分析、四元式生成和汇编代码生…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬