做的网站怎么上线服务器如何搭建php网站

张小明 2026/3/2 21:36:02
做的网站怎么上线,服务器如何搭建php网站,怎样自己做代刷网站,餐饮网站开发别被字符串骗了 — 从手撸计算器到一遍过的 Basic Calculator II 作者#xff1a;Echo_Wish先来一句实话#xff1a;这道题看起来像字符串题#xff0c;实际上考的是你对运算优先级、流式计算#xff08;streaming#xff09;和状态管理的理解。LeetCode 上的 Basic Calcu…别被字符串骗了 — 从手撸计算器到一遍过的 Basic Calculator II作者Echo_Wish先来一句实话这道题看起来像字符串题实际上考的是你对运算优先级、流式计算streaming和状态管理的理解。LeetCode 上的Basic Calculator II只有 - * /没有括号是刷题里经典的一道既能考你写出正确的实现也能让你在代码里体现工程思路 —— 安全、稳健、易读、可拓展。今天咱不走过场按“先讲直观原理 → 再讲常见思路 → 最后给出干净、高质量实现 解析”的路线把这题讲明白代码里全注释手把手教你为什么这么写。风格就像和老同学对面聊一句话一句敲清楚。题目回顾一句话版给定一个只包含非负整数、 - * /操作符和空格的字符串计算并返回表达式的值。除法按截断向零trunc toward zero处理。保证表达式有效。举个小例子32*2→7 3/2 →1整除截断 35 / 2 →5。看起来简单但坑在这儿*和/优先级比和-高。你需要在一次线性扫描里正确处理优先级而不是先分割再暴力算。直观思路口语版把表达式想成一条流水线你从左到右一口气读过去遇到数字就收集遇到操作符就根据上一个操作符决定怎么处理当前数字。关键思想之一是延后 和 - 的求和但立即完成 * / 的计算。也就是说当你看到*或/你必须立刻把上一个“待加入总和”的值与当前数字做掉乘除然后把结果继续作为“待加入总和”的值但当你看到或-时可以把之前的待加入值放进最终和或栈然后把当前数字作为新的待加入值记号由操作决定正负。两种常见实现栈stack方案遇到数字和操作符通过栈保存中间的带符号数*//立刻弹出栈顶与当前做运算并将结果推回结束后把栈里所有数相加。直观但需 O(n) 额外空间栈。常量空间方案lastNum 技巧不显式使用栈而是维护lastNumber相当于栈顶result当前总和不含lastNumbersign上一个操作符。遇到/-时把lastNumber加到result并将lastNumber设为当前数字或其负数遇到*//时直接修改lastNumber。遍历结束把lastNumber加到result即得答案。这个方案 O(1) 空间直观高效。我偏好第二种因为更简洁、内存友好同时逻辑也一清二楚result固定保存那些已经“结算”的加项lastNumber存储还没被加入result的那一项可能被后续*//改写。一个示例把流程走一遍表达式32*2-4/3逐步常量空间方案初始result 0,last 0,sign 读到3num3下一个是sign‘’) → 遇到把last(0)加到result-result0把last 3读到2num2下一个是*sign‘’, 当前符号是上一个 ‘’→ 遇到*不要把last加到result而是更新last last * num 3*2 6读到2num2下一个是-sign‘*’) → 遇到-把last(6)加到result-result6把last -2读到4num4下一个是/sign‘-’) → 遇到/更新last last / num -2 / 4截断向零等于0注意符号和截断…最终把last加回result得答案示例用于说明实际数值需按整数截断规则算清。注意截断向零的细节在 Python 中做整数除法要谨慎负数除法需要用 int(a/b) 而不是 //因为 // 是向下取整。代码实现Python含详细注释defcalculate(s:str)-int: 计算只包含非负整数和 - * / 空格的表达式结果。 思路一次遍历维护三个变量 - result: 已经结算并加入总和的部分不含 last_num - last_num: 当前“待加入”的数字这个数字会参与连续的 * / 运算 - sign: 上一个操作符决定如何处理当前读到的数 结束时返回 result last_num。 注意除法需按截断向零trunc toward zero在 Python 中需用 int(a / b) 来实现。 时间复杂度 O(n)空间 O(1)不计输入字符串。 ss.strip()ifnots:return0result0# 累积的和已结算last_num0# 上一个待结算的数字可能被 * / 连续修改num0# 当前读取的数字sign# 初始化为 , 便于处理第一个数字i0nlen(s)whilein:chs[i]ifch.isdigit():# 读取完整数字可能多位numnum*10(ord(ch)-ord(0))# 如果当前字符是运算符或者到达字符串末尾需要基于上一个 sign 把 num 处理进 last_num 或 resultif(notch.isdigit()andch! )orin-1:ifsign:# 把之前的 last_num 结算进 result新的 last_num 为当前 numresultlast_num last_numnumelifsign-:resultlast_num last_num-numelifsign*:last_numlast_num*numelifsign/:# 在 Python 中负数除法 // 是向下取整不是截断向零# 使用 int(a / b) 来实现截断向零行为# 注意last_num 可能为负数last_numint(last_num/num)# 重置 num并更新 sign 为当前运算符num0signch i1returnresultlast_num# 简单测试print(calculate(32*2))# 7print(calculate( 3/2 ))# 1print(calculate( 35 / 2 ))# 5复杂度与边界说明时间复杂度O(n)只遍历字符串一次数字字符也只被读一次。空间复杂度O(1)只用常量级额外变量。注意点数字可能多位字符串中有空格必须对负数除法做截断向零语言差异要处理。Echo_Wish 的一点感受收个尾这类题好在它能逼着你把“算法思想”落地为“工程代码”要考虑流式解析stream parsing、数字边界、符号优先级、语言语义细节例如 Python 的除法行为以及代码的可读性。刷题不仅是为了 AC更是为了把“一套优雅可复用的思考方式”刻进脑子里遇到字符串处理类的问题先想状态机然后把状态压缩成最小变量这套套路以后能省你大把时间。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

通用企业网站模板网站建设销售员

简介 Dify在30天内密集发布4个版本,应对市场竞争与安全威胁。各版本重点修复安全漏洞、优化性能、重构多模态知识库。频繁迭代虽提升响应速度,但也带来技术风险、用户体验挑战和团队管理压力。未来将向安全左移、模态融合和生态开放方向发展&#xff0c…

张小明 2026/1/17 22:26:16 网站建设

电子商务网站建设的方法和工具wordpress 插件 小程序

用Python发送电子邮件 你可以用 Python 发送邮件,使用多个库,但最常见的是 smtplib 和 email。 Python 中的“smtplib”模块定义了一个 SMTP 客户端会话对象,可用于向任何带有 SMTP 或 ESMTP 监听器守护进程的互联网机器发送邮件。电子邮件…

张小明 2026/1/17 22:24:15 网站建设

聚享游网站如何做推广景安搭建wordpress

原神祈愿数据分析工具:轻松掌握你的欧非命运 【免费下载链接】genshin-wish-export biuuu/genshin-wish-export - 一个使用Electron制作的原神祈愿记录导出工具,它可以通过读取游戏日志或代理模式获取访问游戏祈愿记录API所需的authKey。 项目地址: ht…

张小明 2026/1/17 22:20:13 网站建设

烟台网站快速优化排名大连住房和城乡建设部网站

智能指针的原理智能指针是C中的一种工具,它基于RAII(资源获取即初始化)机制,将动态内存的管理封装为一个对象。其核心原理包括:‌自动释放‌:智能指针的析构函数会自动调用delete或自定义删除器&#xff0c…

张小明 2026/1/17 22:18:12 网站建设

关于企业官方网站建设的ppt聚合页做的比较好的教育网站

文章目录一、简介日志级别三、记录器(logger)一、简介 logging模块是python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。 Logger从来不直接实例化,经常通过logging…

张小明 2026/1/17 22:16:11 网站建设