【优选算法必刷100题】第39-40题(模拟):替换所有问号,提莫攻击

【优选算法必刷100题】第39-40题(模拟):替换所有问号,提莫攻击

🔥个人主页:Cx330🌸

❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C++知识分享》

《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔

《Git深度解析》:版本管理实战全解

🌟心向往之行必能至


🎥Cx330🌸的简介:


目录

前言:

39.替换所有问号

算法原理(模拟):

思路:

模拟解法代码(C++):

博主手记(字体还请见谅哈):

40.提莫攻击

解法(模拟+分情况讨论):

算法思路:

C++算法代码:

博主手记(字体还请见谅哈):

总结:


前言:

聚焦算法题实战,系统讲解三大核心板块:“精准定位最优解”——优选算法,“简化逻辑表达,系统性探索与剪枝优化”——递归与回溯,“以局部最优换全局高效”——贪心算法,讲解思路与代码实现,帮助大家快速提升代码能力

39.替换所有问号

题目链接:

1576. 替换所有的问号 - 力扣(LeetCode)

题目描述:

题目示例:

算法原理(模拟):

思路:

就是模拟这个过程就行。从前往后遍历整个字符串,找到问号之后,就用a~z的每一个字符去尝试替换即可

模拟解法代码(C++):

class Solution { public: string modifyString(string s) { int n=s.size(); for(int i=0;i<n;i++) { if(s[i]=='?')//替换 { for(char ch='a';ch<='z';ch++) { //当'?'在第一位或者字符不与前面元素相同&&当'?'在最后一位或者字符不与后面元素相同 if((i==0||s[i-1]!=ch)&&(i==n-1||s[i+1]!=ch)) { s[i]=ch; break; } } } } return s; } };
博主手记(字体还请见谅哈):

40.提莫攻击

题目链接:

495. 提莫攻击 - 力扣(LeetCode)

题目描述:

题目示例:

解法(模拟+分情况讨论):

算法思路:

模拟+分情况讨论。
计算相邻两个时间点的差值:

  • 如果差值大于等于中毒时间,说明上次中毒可以持续 duration 秒。
  • 如果差值小于中毒时间,那么上次的中毒只能持续两者的差值

C++算法代码:

代码一:

class Solution { public: int findPoisonedDuration(vector<int>& timeSeries, int duration) { int n=timeSeries.size(),ret=0; for(int i=1;i<n;i++) { if(timeSeries[i]-timeSeries[i-1]<duration) ret+=timeSeries[i]-timeSeries[i-1]; else ret+=duration; } //加上最后一次攻击的中毒时间 return ret+duration; } };
博主手记(字体还请见谅哈):

总结:

结尾:替换所有问号(LeetCode 1576)使用模拟方法遍历字符串,遇到问号时用a-z字符替换,确保不与相邻字符重复;提莫攻击(LeetCode 495)通过分情况讨论计算中毒总时长:若攻击间隔大于中毒时间则累加duration,否则累加实际间隔时间

Read more

基于 Spring Boot 的 Web 三大核心交互案例精讲

基于 Spring Boot 的 Web 三大核心交互案例精讲

—知识点专栏——JavaEE专栏— 作为 Spring Boot 初学者,理解后端接口的编写和前端页面的交互至关重要。本文将通过三个经典的 Web 案例——表单提交、AJAX 登录与状态管理、以及 JSON 数据交互——带您掌握前后端联调的核心技巧和 Spring Boot 的关键注解。 1. 案例一:表单提交与参数绑定(计算求和) 本案例展示最基础、最传统的 Web 交互方式:HTML 表单提交。 1.1 后端代码:CalcController.java 使用 @RestController 简化接口编写,并通过方法参数接收表单数据。 packagecn.overthinker.springboot;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.

By Ne0inhk
Flutter 三方库 react 泛前端核心范式框架鸿蒙原生层生态级双向超能适配:跨时空重塑响应式单向数据流拓扑与高度精密生命周期树引擎解耦视图渲染控制中枢(适配鸿蒙 HarmonyOS ohos)

Flutter 三方库 react 泛前端核心范式框架鸿蒙原生层生态级双向超能适配:跨时空重塑响应式单向数据流拓扑与高度精密生命周期树引擎解耦视图渲染控制中枢(适配鸿蒙 HarmonyOS ohos)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 react 泛前端核心范式框架鸿蒙原生层生态级双向超能适配:跨时空重塑响应式单向数据流拓扑与高度精密生命周期树引擎解耦视图渲染控制中枢 前言 在 OpenHarmony 的大型应用开发中,面对如分布式协同白板、复杂仪表盘或多端动态配置等业务,如何优雅地组织繁杂的交互逻辑是每个架构师的宿命。虽然 Flutter 本身已有完善的 Widget 体系,但在处理极其深度的“逻辑-视图”分离时,借鉴前端 React 思想的库可以提供更高级的抽象。react 库(注:指 Dart 生态中模拟 React 核心 API 的封装库)为开发者提供了声明式、可组合的状态管理逻辑。本文将调研其在鸿蒙端的集成实战,探索逻辑复用的新边界。 一、原理解析 / 概念介绍 1.1 基础原理/概念介绍 react

By Ne0inhk
coding ability 展开第六幕(前缀和算法——一维到二维)超详细!!!!

coding ability 展开第六幕(前缀和算法——一维到二维)超详细!!!!

文章目录 * 前言 * 前缀和 * 寻找数组的中心下标 * 思路 * 除自身以外数组的乘积 * 思路 * 总结 * 总结 前言 本专栏上一篇已经把二分查找的习题结束啦 其实核心就是找出二段性,然后找出判断条件,然后选板子二分即可 今天我们来学习新的算法知识,前缀和 关于前缀和,可能大家在蓝桥杯或者一些算法比赛都听过 其实前缀和不难的,跟我一起来看看吧 前缀和 前缀和(Prefix Sum)是一种预处理数组的方法,通过构建一个辅助数组 s,使得 s[i] 表示原数组 a 前 i 个元素的和(索引从 0 到 i-1或者 0 到 i)。 核心作用:快速计算任意区间 [l, r] 的和,时间复杂度为 O(1)

By Ne0inhk
【OpenClaw从入门到精通】第04篇:Web/TUI/钉钉全打通!OpenClaw多端交互实测指南(2026避坑版)

【OpenClaw从入门到精通】第04篇:Web/TUI/钉钉全打通!OpenClaw多端交互实测指南(2026避坑版)

摘要:本文聚焦OpenClaw三大核心交互方式,针对新手“不知如何与AI助理沟通”的痛点,提供Web控制台、TUI终端、聊天软件(以钉钉为核心)的完整实操流程。Web控制台适配电脑端深度配置,TUI终端适合服务器远程维护,聊天软件满足手机端移动办公,三者协同实现“随时随地召唤AI”。文中包含2026实测的命令代码、配置步骤、问题排查方案,所有案例为虚拟构建,代码未上传GitHub,兼顾新手入门与进阶实操,帮助读者快速打通多端交互,最大化OpenClaw使用效率。 优质专栏欢迎订阅! 【DeepSeek深度应用】【Python高阶开发:AI自动化与数据工程实战】【YOLOv11工业级实战】 【机器视觉:C# + HALCON】【大模型微调实战:平民级微调技术全解】 【人工智能之深度学习】【AI 赋能:Python 人工智能应用实战】【数字孪生与仿真技术实战指南】 【AI工程化落地与YOLOv8/v9实战】【C#工业上位机高级应用:高并发通信+性能优化】 【Java生产级避坑指南:高并发+性能调优终极实战】【Coze搞钱实战:零代码打造吸金AI助手】

By Ne0inhk