当前位置: 首页 > news >正文

算法--模拟题目

算法–模拟问题

  1. 1576. 替换所有的问号
思路:遍历字符串,找到?, 然后遍历字符'a' 到 'z' 找到不等于前后字符,替换即可
class Solution {
public:string modifyString(string s) {for(int i = 0; i < s.size(); i++){if(s[i] == '?'){//替换for(char a = 'a'; a <= 'z'; a++){//当字符不等于第一个字符并且前一个字符等于当前字符是继续.//或当字符不等于最后一个字符且字符后一个字符等于当前字符时继续.if((i > 0 && s[i-1] == a) || i < s.size()-1 && s[i+1] == a){continue;}s[i] = a;break;}}}return s;}
};
  1. 495. 提莫攻击
思路: 有两种情况:1. 第二次攻击在第一次的中毒持续时间之内, 即 第二次攻击时间 - 第一次攻击时间 >= duration, 则 ans += duration 即可2. 第二次攻击时间在第一中毒持续时间之外, 即 第二次攻击时间 - 第一次攻击时间 < duration 则 ans += duration 即可最后 需要 + duration, 因为最后一次攻击没有考虑在内.
class Solution {
public:int findPoisonedDuration(vector<int>& timeSeries, int duration) {int ans = 0; if(timeSeries.size() == 1){return duration;}for(int right = 1; right < timeSeries.size(); right++){int left = right -1;int x = timeSeries[right] - timeSeries[left];if(x >= duration)ans += duration;else ans += x;}return ans + duration;}
};
    1. N 字形变换](https://gitee.com/link?target=https%3A%2F%2Fleetcode.cn%2Fproblems%2Fzigzag-conversion%2F)
思路:用数字模拟字符串找规律即可
0      6        12
1    5 7     11 13
2  4   8  10    14  16
3      9        15
第一行和最后一行的公差d = numRows;
中间行: 每次成对出现,(1,5) (7,11).... 规律: 第二个数 = d - 第一个数, 往后每对数分别增加 d
class Solution {
public:string convert(string s, int numRows) {string ans;int n = s.size();int d = numRows * 2 -2;if(numRows == 1){return s;}//处理第一行for(int i = 0; i < n; i += d){ans += s[i];}//处理中间行for(int row = 1; row < numRows - 1 ; row++){for(int i = row, j = d - i; i < n || j < n; i += d, j += d){if(i < n) ans += s[i];if(j < n) ans += s[j];}}//处理最后一行for(int i = numRows-1; i < n; i += d){ans += s[i];}return ans;}
};
  1. 38. 外观数列
思路: 使用双指针来确定ans中相同字符的个数和是什么字符.
class Solution {
public:string countAndSay(int n) {string ans{"1"};if(n == 1){return ans;}for(int i = 2; i <= n; i++){ans = describe(ans);}return ans;}string describe(string input){string output;int size = input.size();int left = 0; int right = 0;while(right <= size){if(right == size){output += std::to_string(right - left);output += input[left];return output;}if(input[right] == input[left]){right++;}else {output += std::to_string(right - left);output += input[left];left = right;}}return "0";}
};
  1. 1419. 数青蛙
思路:使用hash表解决
unordered_map<char,int> map; 存放字符和下标之间的映射关系
vector<int> hash; 模拟哈希表.存放字符出现的次数.
遍历字符串:有两种情况:当前字符是 'c', 需要看一下hash中'k'字符出现的次数是否为0,当为0时,表示此时没有一个青蛙完成叫完,'c'字符++即可,当不为0时,此时表示已经有青蛙叫完,需要'k'--,'c'++ 表示至少有多少只青蛙.当前字符不为'c',需要判断hash中前一个字符次数是否为0,当为零时,表示错误,直接返回-1,即叫出当前字符前必须已经叫出前一个字符,否则错误.当不为零时, 前一个字符次数--, 当前字符次数++;即可.
class Solution {
public:int minNumberOfFrogs(string croakOfFrogs) {unordered_map<char,int> map;//存放字符和下标的映射string s{"croak"};for(int i = 0; i < s.size(); i++){map[s[i]] = i;}vector<int> hash(5);for(char c : croakOfFrogs){if(c == 'c'){int index = map['k'];if(hash[index] != 0){hash[index]--;}hash[0]++;}else {int index = map[c];if(hash[index-1] != 0){hash[index -1]--;hash[index]++;}else{return -1;}}}for(int i = 0; i < hash.size()-1; i++){if(hash[i] != 0)return -1;}return hash[hash.size()-1];}
};

完!!!

相关文章:

算法--模拟题目

算法–模拟问题 1576. 替换所有的问号 思路:遍历字符串,找到?, 然后遍历字符a 到 z 找到不等于前后字符,替换即可 class Solution { public:string modifyString(string s) {for(int i 0; i < s.size(); i){if(s[i] ?){//替换for(char a a; a < z; a){//当字符不等…...

PDF24 Tools:涵盖20+种PDF工具,简单高效PDF工具箱,支持一键编辑/转换/合并

一、软件介绍 PDF 24 Tools是一款由德国公司开发的PDF编辑工具&#xff0c;拥有18年的历史&#xff0c;并且一直免费使用&#xff0c;这在同类软件中非常难得。 早在许久之前&#xff0c;我就推荐过这款工具的免费网页版&#xff0c;但由于网页使用起来可能不太方便且速度较慢…...

12.多边形的三角剖分 (Triangulation) : Fisk‘s proof

目录 1.Fisks proof Trangulation Coloring Domination Pigeon-Hold Principle Generation 2.Orthogonal Polygons (正交多边形) Necessity of floor(n4) Sufficiency by convex Quadrilateralization Generalization 1.Fisks proof Trangulation 引入内对角线&…...

数据库基本概念:数据库的定义、特点、分类、组成、作用

一&#xff1a;数据库相关概念 1.1 定义 &#xff08;1&#xff09;数据库&#xff1a;存储数据的仓库 &#xff08;2&#xff09;数据库管理系统&#xff1a;模拟和管理数据库的大型软件 &#xff08;3&#xff09;SQL&#xff1a;操作关系型数据库的编程语言&#xff0c;定义…...

PostgreSQL 数据库下载和安装

官网&#xff1a; PostgreSQL: Downloads 推荐下载网站&#xff1a;EDB downloads postgresql 我选了 postgresql-15.12-1-windows-x64.exe 鼠标双击&#xff0c;开始安装&#xff1a; 安装路径&#xff1a; Installation Directory: D:\Program Files\PostgreSQL\15 Serv…...

【c++】【STL】queue详解

目录 queue的作用什么是容器适配器queue的接口构造函数emptysizefrontback queue类的实现 queue的作用 queue是stl库提供的一种容器适配器&#xff0c;也就是我们数据结构中学到的队列&#xff0c;是非常常用的数据结构&#xff0c;特点是遵循LILO&#xff08;last in last ou…...

循环插入数据库行

文章目录 循环插入数据库行 循环插入数据库行 -- 声明变量 DECLARE i INT 201;-- 开始循环 WHILE i < 200 BEGIN-- 插入数据INSERT INTO T_AGVPOS (POS) VALUES (i);SET i i 1; END;...

QMK机械键盘固件开发指南:从源码到实践

QMK机械键盘固件开发指南&#xff1a;从源码到实践 前言 QMK&#xff08;Quantum Mechanical Keyboard&#xff09;是一款开源的键盘固件&#xff0c;支持众多自定义键盘的功能配置。通过QMK&#xff0c;您可以完全掌控键盘的每一个按键&#xff0c;实现复杂的宏指令、多层按…...

Unity SpriteMask(精灵遮罩)

&#x1f3c6; 个人愚见&#xff0c;没事写写笔记 &#x1f3c6;《博客内容》&#xff1a;Unity3D开发内容 &#x1f3c6;&#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f50e;SpriteMask&#xff1a;精灵遮罩 &#x1f4a1;作用就是对精灵图片产生遮罩&#xff0c…...

AdaBoost算法详解:原理、实现与应用指南

AdaBoost算法详解&#xff1a;原理、实现与应用指南 1. 引言 在机器学习领域&#xff0c;AdaBoost&#xff08;Adaptive Boosting&#xff09; 是最早提出的集成学习&#xff08;Ensemble Learning&#xff09;**算法之一&#xff0c;由Yoav Freund和Robert Schapire于1995年…...

Flink流式计算核心:DataStream API与时间语义深度解析

本文将围绕Flink最核心的DataStream API展开&#xff0c;结合其独特的时间语义体系&#xff0c;深入解析Flink如何实现对无界流数据的精准控制&#xff0c;并通过真实业务场景案例演示其工程实践方法。 一、DataStream API&#xff1a;Flink处理无界流的“中枢神经” Flink的A…...

C# 方法的结构与执行详解

在编程世界里&#xff0c;方法是一块具有名称的代码&#xff0c;它就像是一个功能盒子&#xff0c;我们可以使用方法的名称从别的地方执行其中的代码&#xff0c;还能把数据传入方法并接收数据输出。方法是类的函数成员&#xff0c;主要由方法头和方法体两个部分构成。 方法头…...

《AI大模型应知应会100篇》第41篇:多轮对话设计:构建高效的交互式应用

第41篇&#xff1a;多轮对话设计&#xff1a;构建高效的交互式应用 摘要 在银行客服机器人突然准确回答出用户第7次追问的信用卡额度规则时&#xff0c;在医疗问诊系统记住患者既往病史的瞬间&#xff0c;多轮对话技术正在创造令人惊叹的交互体验。本文将以工业级案例为经&am…...

【Day 14】HarmonyOS分布式数据库实战

一、分布式数据库基础 1. 核心概念速记表 术语解释示例场景分布式数据库数据自动同步到同账号设备手机添加商品→平板立即显示KV数据模型键值对存储&#xff08;类似JSON&#xff09;{"cart_item1": {"name":"牛奶","price":10}}数据…...

terraform 删除资源前先校验资源是否存在关联资源

Terraform 删除资源前校验关联资源的解决方案 在使用 Terraform 进行资源删除操作时&#xff0c;确实存在直接删除可能影响关联资源的风险。以下是几种在删除前校验关联资源的方法&#xff1a; 1. 使用 Terraform Data Sources 进行预检查 在删除主资源前&#xff0c;可以通…...

如何免费使用 DeepSeek-Prover-V2?

近日,Deepseek 发布了一个新模型,这是一个在数学推理方面表现卓越的模型,即 DeepSeek Prover V2。 DeepSeek-Prover-V2 是一个专门使用 Lean 4 证明助手进行形式化定理证明的高级语言模型。 简单来说, DeepSeek-Prover-V2 旨在支持数学家和计算机科学家创建和验证形式化证…...

dify+ollama+知识库 部署

这篇文章的前提是已经部署了deepseek和ollama deepseek和ollama安装 代码、配置 本地电脑如果是Windows的话&#xff0c;需要安装Git # 拉取Dify代码 git clone https://github.com/langgenius/dify.git复制配置 进入dify\docker目录 复制.env.example到.env 复制.middlewa…...

补题:K - Magic Tree (Gym - 105231K)

来源&#xff1a;问题 - K - Codeforceshttps://codeforces.com/gym/105231/problem/K 题目描述&#xff1a; 一、题目分析 本题给定一个2行m列的网格&#xff0c;从(1, 1)格子开始进行深度优先搜索&#xff0c;每个格子可到达至少一个边相邻的格子且不重复访问&#xff0c;…...

文章记单词 | 第58篇(六级)

一&#xff0c;单词释义 naive&#xff1a;英 [naɪˈiːv , nɑːˈiːv] 美 [naɪˈiːv , nɑːˈiːv]&#xff0c;形容词&#xff0c;意为 “天真的&#xff1b;幼稚的&#xff1b;轻信的&#xff1b;易受骗的&#xff1b;无经验的&#xff1b;率真的&#xff1b;质朴的”…...

红利底波是什么意思?

红利低波是一种结合了红利策略和低波策略的投资策略&#xff0c;主要选取股息率高且波动率低的股票进行投资&#xff0c;具有 “高收益低风险” 的特点&#xff0c;适合大多数投资者的权益资产配置。以下是具体介绍&#xff1a; 策略构成要素 红利策略 &#xff1a;关注股息率…...

缓存:缓解读库压力的高效方案与应用实践

在软件开发和系统设计中&#xff0c;使用缓存来缓解读库压力是一种常见且有效的优化策略&#xff0c;以下是具体的介绍&#xff1a; 一、缓存的基本概念 缓存是一种临时数据存储区域&#xff0c;它存储了经常访问的数据副本。当应用程序需要访问数据时&#xff0c;首先会检查…...

17. LangChain流式响应与实时交互:打造“类ChatGPT“体验

引言&#xff1a;从"等待加载"到"即时对话"的革命 2025年某在线教育平台的AI助教引入流式交互后&#xff0c;学生平均对话轮次提升3.2倍&#xff0c;完课率提高47%。本文将基于LangChain的异步流式架构&#xff0c;揭秘如何实现毫秒级响应的自然对话体验。…...

仿腾讯会议——服务器结构讲解

总功能 1、数据库类 1、进入mysql 2、查看当前数据库 2、线程池 3、网络类 阻塞和非阻塞是通过套接字来实现的&#xff0c;所以不能发送和接收的阻塞状态不同...

【笔记】深度学习模型训练的 GPU 内存优化之旅③:内存交换篇

开设此专题&#xff0c;目的一是梳理文献&#xff0c;目的二是分享知识。因为笔者读研期间的研究方向是单卡上的显存优化&#xff0c;所以最初思考的专题名称是“显存突围&#xff1a;深度学习模型训练的 GPU 内存优化之旅”&#xff0c;英文缩写是 “MLSys_GPU_Memory_Opt”。…...

(B题|矿山数据处理问题)2025年第二十二届五一数学建模竞赛(五一杯/五一赛)解题思路|完整代码论文集合

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…...

【2025最新】为什么用ElasticSearch?和传统数据库MySQL与什么区别?

Elasticsearch 深度解析&#xff1a;从原理到实践 一、为什么选择 Elasticsearch&#xff1f; 数据模型 Elasticsearch 是基于文档的搜索引擎&#xff0c;它使用 JSON 文档来存储数据。在 Elasticsearch 中&#xff0c;相关的数据通常存储在同一个文档中&#xff0c;而不是分散…...

华为云Astro大屏连接器创建操作实例:抽取物联网iotda影子设备数据的连接器创建

目录 样图(API连接器创建成功) 说明 操作场景(以Astro大屏抽取iotda影子参数为例) 实际操作步骤 新建连接器 设置基本信息。 接口鉴权方式,支持API鉴权、AK/SK、API Key和无身份验证 无身份验证 AK/SK认证(目前暂不能用) API Key认证(第三方使用) API鉴权认…...

C#泛型集合深度解析(九):掌握System.Collections.Generic的核心精髓

一、泛型集合革命:告别装箱拆箱的性能噩梦 1.1 泛型与非泛型集合性能对比 // 非泛型集合(ArrayList) ArrayList arrayList = new ArrayList(); arrayList.Add(100); // 装箱发生 int value = (int)arrayList[0]; // 拆箱发生// 泛型集合(List<T>) List<…...

人工智能-深度学习之卷积神经网络

深度学习 mlp弊端卷积神经网络图像卷积运算卷积神经网络的核心池化层实现维度缩减卷积神经网络卷积神经网络两大特点卷积运算导致的两个问题&#xff1a;图像填充&#xff08;padding&#xff09;结构组合问题经典CNN模型LeNet-5模型AlexNet模型VGG-16模型 经典的CNN模型用于新…...

《软件设计师》复习笔记(11.1)——生命周期、CMM、开发模型

目录 一、信息系统生命周期 系统规划阶段 系统分析阶段&#xff08;逻辑设计&#xff09; 系统设计阶段&#xff08;物理设计&#xff09; 系统实施阶段 系统运行与维护阶段 二、能力成熟度模型&#xff08;CMM/CMMI&#xff09; CMM 五级模型 CMMI 两种表示方法 真题…...

AI大模型基础设施:主流的几款开源AI大语言模型的本地部署成本

以下是对目前主流开源AI大语言模型&#xff08;如DeepSeek R1、LLaMA系列、Qwen等&#xff09;本地部署成本的详细分析&#xff0c;涵盖计算机硬件、显卡等成本&#xff0c;价格以美元计算。成本估算基于模型参数规模、硬件需求&#xff08;GPU、CPU、RAM、存储等&#xff09;以…...

Narendra自适应控制器设计

上一篇介绍了在系统结构中引入前馈和反馈的结构&#xff0c;然后利用李雅普诺夫稳定性理论设计MRACS&#xff0c;在基于输入输出形式中&#xff0c;利用李雅普诺夫稳定性设计的自适应率中包含了误差的导数&#xff0c;这降低了系统的抗干扰性&#xff0c;为了避免这一缺点&…...

为什么大模型偏爱Markdown

Markdown 的简洁之美 我们常见的文档格式&#xff0c;比如HTML、JSON、XML或者Markdown&#xff0c;Markdown是最简洁的。 比如要展示一行标题&#xff0c;相比复杂的HTML标签&#xff0c;使用Markdown我们只需要在文本前加个井号&#xff1a; <heading level“1”>这是…...

【kafka系列】消费者组

目录 消费者组功能点 1. 动态负载均衡 2. 容错高可用 3. 消费进度管理 4. 并行消费能力 5. 消费隔离性 其他要点 1. Rebalance过程详解 2. 位移提交的精确语义 3. 消费者限速策略 4. 跨机房消费设计 消费者组功能点 1. 动态负载均衡 核心机制&#xff1a;通过Rebal…...

2025五一杯数学建模C题:社交媒体平台用户分析问题;思路分析+模型代码

&#xff08;一&#xff09;问题背景 想象一下&#xff0c;社交媒体平台是一个充满活力的生态系统&#xff0c;博主们如同才华横溢的创作者&#xff0c;凭借专业知识或独特兴趣&#xff0c;精心打造出各种高质量内容&#xff0c;吸引着众多用户的目光。用户则像热情的参与者&a…...

Kotlin-运算符重载函数

在 Kotlin 里&#xff0c;运算符重载函数允许为自定义类型重新定义现有的运算符(如 -…)行为&#xff0c;从而让自定义类型能像内置类型那样使用运算符 文章目录 基本语法作用场景类对象数据类型接口 注意事项 基本语法 若要重载运算符&#xff0c;需要定义一个带有 operato…...

哈希表笔记(三)Java Hashmap

一、基本介绍 HashMap 是 Java 集合框架中的核心类之一&#xff0c;基于哈希表实现&#xff0c;提供了 Map 接口的主要实现。 1.1 主要特点 实现了 Map<K,V> 接口允许 null 键和 null 值&#xff08;不同于 Hashtable&#xff09;非同步实现&#xff08;非线程安全&am…...

2025五一杯C题五一杯数学建模思路代码文章教学:社交媒体平台用户分析问题

完整内容请看文章最下面的推广群 问题一详细分析&#xff1a;逐步思考与建模过程 第1步&#xff1a;问题理解与数学建模目标明确 目标明确&#xff1a; 平台希望根据2024年7月11日至7月20日的用户与博主交互数据&#xff0c;预测2024年7月21日各博主新增的关 注数&#xff0c;…...

2025五一数学建模竞赛B题完整分析论文(共42页)(含模型、可运行代码、数据)

2025年五一数学建模竞赛B题完整分析论文 摘 要 一、问题分析 二、问题重述 三、模型假设 四、符号定义 五、 模型建立与求解 5.1问题1 5.1.1问题1思路分析 5.1.2问题1模型建立 5.1.3问题1代码 5.1.4问题1求解结果 5.2问题2 5.2.1问题2思路分析 5.2.…...

[蓝桥杯 2021 省 AB] 砝码称重 Java

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] w new int[n 1];int sum 0; // 所有砝码重量之和for (int i 1; i < n; i) {w[i] sc.nextInt();sum w[i];}sc.close()…...

Linux 命令如何同时支持文件参数与管道输入?

文章目录 Linux 命令如何同时支持文件参数与管道输入&#xff1f;命令输入方式与管道机制概述常见输入控制方式常见使用示例程序实现思路&#xff1a;统一处理输入的方式判定输入来源的基本模式为何命令应支持参数与标准输入&#xff1f; GNU Coreutils wc 源码解析&#xff1a…...

Lucene多种数据类型使用说明

Lucene 作为一款高性能的全文检索引擎库&#xff0c;其核心功能围绕索引和搜索文本数据&#xff0c;但它也支持多种数据类型以满足复杂的应用场景。以下是 Lucene 支持的主要数据类型及其用途的详细说明&#xff1a; 1. 文本类型&#xff08;Text&#xff09; 用途&#xff1a;…...

使用CubeMX新建DMA工程——存储器到外设模式

目录 1、新建板级支持包 1、usart.c: 2、修改的地方&#xff1a;在usart.c中添加了这些 3、usart.h: 4、在usart.h中添加了这些&#xff1a; 5、dma.c: 6、dma.h: 2、修改main.c文件 1、在main.c文件中添加头文件 2、添加外部变量声明 3、添加简单延时函数 4、添加…...

基于Redis实现-附近商铺查询

基于Redis实现-附近查询 这个功能将使用到Redis中的GEO这种数据结构来实现。 1.GEO相关命令 GEO就是Geolocation的简写形式&#xff0c;代表地理坐标。Redis在3.2版本中加入到了对GEO的支持&#xff0c;允许存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据&#…...

【Redis】Another Redis Desktop Manager 安装指南

目录 一、Another Redis Desktop Manager 介绍 ​二、下载安装指南 三、效果预览 一、Another Redis Desktop Manager 介绍 国人开发的更快、更好、更稳定的 Redis 桌面客户端工具&#xff0c;功能强大&#xff0c;支持集群、哨兵、SSL 认证、 树状视图、自定义格式化脚本等功…...

装饰器设计模式(Decorator Pattern)详解

装饰器设计模式(Decorator Pattern)详解 装饰器模式是一种结构型设计模式,它允许动态地向对象添加额外行为,而无需修改其原始类。这种模式通过包装对象的方式提供灵活的扩展功能替代继承。 1. 核心概念 (1)模式定义 装饰器模式:动态地给一个对象添加一些额外的职责,就…...

LiteOS与SLE透传实战案例

文章目录 硬件设计EDA 软件介绍创建元件及封装原理图绘制Layout元件焊接 软件设计LiteOS 入门核心概念TaskWorkflow参考 API&#xff08;参考 osal_task. h&#xff09; 时间片任务轮转练习&#xff1a;仿写 example/peripheral/blinkyQueue参考 API&#xff08;参考 osal_msgq…...

MCAL学习(1)——AutoSAR

1.了解AutoSAR及一些概念 AutoSAR是Automotive Open System Architecture ,汽车开放系统架构。 针对汽车ECU的软件开发架构。已经是汽车电子软件开发的标准。 OS服务&#xff1a;Freertos 整车厂&#xff08;OEM&#xff09;主要负责应用层算法 一级供应商&#xff1a;生产制…...

前端vue3项目学习

鸽王经过一个多月的学习&#xff08;断断续续吧&#xff0c;毕竟还有其他杂事&#xff09;&#xff0c;学的昏天黑地&#xff0c;终于把主线捋的差不多了。只能说&#xff0c;前端真不是人学的&#xff0c;涉及的语言语法太杂乱了&#xff0c;入门真的太难了。而后端&#xff0…...

ActiveMQ 性能优化与网络配置实战(二)

五、性能优化实战 5.1 基础配置调整 5.1.1 增加并发消费者 在 ActiveMQ 中&#xff0c;增加并发消费者是提高消息处理效率的重要手段之一。通过配置多个消费者并行处理消息&#xff0c;可以充分利用系统资源&#xff0c;加快消息的消费速度&#xff0c;从而提高系统的整体吞…...