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

【算法刷题指南】模拟



前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站



在这里插入图片描述

🌈个人主页: 南桥几晴秋
🌈C++专栏: 南桥谈C++
🌈C语言专栏: C语言学习系列
🌈Linux学习专栏: 南桥谈Linux
🌈数据结构学习专栏: 数据结构杂谈
🌈数据库学习专栏: 南桥谈MySQL
🌈Qt学习专栏: 南桥谈Qt
🌈菜鸡代码练习: 练习随想记录
🌈git学习: 南桥谈Git

🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈
本科在读菜鸡一枚,指出问题及时改正


1576.替换所有的问号

1576.替换所有的问号

  • 遍历字符串
  • 找到当前位置是‘?’
  • 分为三种情况:
    • i==0,成立条件:ch!=s[i+1]
    • i==s.size()-1,成立条件:ch!=s[s.size()-2]
    • 处于中间位置,成立条件:ch!=s[i-1]&&ch!=s[i+1]
class Solution {
public:string modifyString(string s) {for(int i=0;i<s.size();i++){if(s[i]=='?'){for(char ch='a';ch<='z';ch++){if(i==0){if(ch!=s[i+1]) s[i]=ch;}else if(i==s.size()-1){if(ch!=s[s.size()-2]) s[i]=ch;}else{if(ch!=s[i-1]&&ch!=s[i+1]) s[i]=ch;}}}}return s;}
};

495.提莫攻击

495.提莫攻击

  • 当前时间和前一个时间的差值大于等于duration,中毒时间为duration
  • 当前时间和前一个时间的差值小于duration,中毒时间需要重置
  • 最后一个时间要加上duration
class Solution {
public:int findPoisonedDuration(vector<int>& timeSeries, int duration) {int ans=0;for(int i=1;i<timeSeries.size();i++){if(timeSeries[i]-timeSeries[i-1]>=duration) ans+=duration;else ans+=timeSeries[i]-timeSeries[i-1];}return ans+duration;}
};

6.Z 字形变换

6.Z 字形变换

  • 模拟
  • 找规律:
    • 第一行:每两个之间的间隔为d=2*numRows-2
    • 中间行:每两个竖列的间隔为d,斜列和竖列之间的间隔为d-i*2i是每一行)
    • 最后一行:每两个之间的间隔为d=2*numRows-2
  • 注意:在判断斜列的时候需要注意是否超出字符串的大小
class Solution {
public:string convert(string s, int numRows) {int n=s.size();string ans;int d=2*numRows-2;if(numRows==1) return s;//第一行for(int i=0;i<n;i+=d){ans+=s[i];}//中间行for(int i=1;i<numRows-1;i++){for(int j=i;j<n;){ans+=s[j];int dd=d-i*2;if(j+dd<n)ans=ans+s[j+dd];j+=d;}}//最后一行for(int i=numRows-1;i<n;i+=d)ans+=s[i];return ans;}
};

38.外观数列

38.外观数列

  • 模拟
  • 根据概念推出规律:
1
11 
21
1211
111221
312211
...
  • 实质上就是依次统计连续相同字符的个数
class Solution {
public:string countAndSay(int n) {string s="1";for(int i=1;i<n;i++){string t;for(int right=0,left=0;right<s.size();){while(right<s.size()&&s[left]==s[right]) right++;t+=to_string(right-left)+s[left];left=right;}s=t;}return s;}
};

1419.数青蛙

1419.数青蛙

  • 模拟,遍历字符串
  • 遍历到roak找前驱字符是否在哈希表中存在:
    • 存在:前驱个数--,当前字符个数++
    • 不存在:返回-1
  • 遍历到c时:找最后一个字符k是否在哈希表中存在:
    • 存在:最后一个字符的个数--,当前字符c++
    • 不存在:当前字符++
class Solution {
public:int minNumberOfFrogs(string croakOfFrogs) {string t="croak";int n=t.size();vector<int>hash(n);  //数组模拟哈希表(记录t)unordered_map<char,int> index; //记录下标for(int i=0;i<n;i++)index[t[i]]=i;for(auto ch:croakOfFrogs){if(ch=='c'){if(hash[n-1]!=0) hash[n-1]--;hash[0]++; //c}else{int i=index[ch];if(hash[i-1]==0) return -1; //前驱字符不存在hash[i-1]--;hash[i]++;}}for(int i=0;i<n-1;i++){if(hash[i]!=0) return -1;}return hash[n-1];}
};

在这里插入图片描述

相关文章:

【算法刷题指南】模拟

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站 &#x1f308;个人主页&#xff1a; 南桥几晴秋 &#x1f308;C专栏&#xff1a; 南桥谈C &#x1f308;C语言专栏&#xff1a; C语言学习系…...

学习笔记078——Java Properties类使用详解

文章目录 概述常见方法写入读取遍历 概述 Properties 继承于 Hashtable。表示一个持久的属性集&#xff0c;属性列表以key-value的形式存在&#xff0c;key和value都是字符串。 Properties 类被许多Java类使用。例如&#xff0c;在获取环境变量时它就作为System.getPropertie…...

若依使用 Undertow 替代 Tomcat 容器

文章目录 需求提出应用场景解决思路注意事项完整代码第一步&#xff1a;在 ruoyi-framework/pom.xml 文件中进行依赖配置第二步&#xff1a;修改 application.yml 配置文件第三步&#xff1a;修改文件上传工具类 FileUploadUtils.java 运行结果 需求提出 在开发若依框架的前后…...

多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测

多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测 目录 多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测预测效果基本介绍模型背景程序设计参考资料 预测效果 基本介绍 Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入…...

Elasticsearch:基础概念

一、什么是Elasticsearch Elasticsearch是基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展数据存储和矢量数据库。它针对生产规模工作负载的速度和相关性进行了优化。使用 Elasticsearch 可以近乎实时地搜索、索引、存储和分析各种形状和大小的数据。Elasticsearch 是…...

Spring MVC的@ResponseBody与@RequestBody

ResponseBody注解用于将Controller的方法返回的对象&#xff0c;通过springmvc提供的HttpMessageConverter接口转换为指定格式的数据如&#xff1a;json,xml等&#xff0c;通过Response响应给客户端。 RequestBody注解用于读取http请求的内容(字符串)&#xff0c;通过springmv…...

智能商业分析 Quick BI

Quick BI 是阿里云提供的一款智能商业分析&#xff08;BI&#xff09;工具&#xff0c;旨在帮助企业快速获取业务洞察、优化决策过程、提升数据分析效率。通过强大的数据可视化和分析功能&#xff0c;Quick BI 能够帮助用户轻松连接多种数据源、创建多维度的报表和仪表盘&#…...

LUA基础语法

目录 变量篇 算数运算符 条件分支语句与循环语句 函数 表 Table 全局变量与本地变量 协程 元表 面向对象&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09; 常用自带库 垃圾回收 变量篇 print("hello") print("lua") --注释 --[[…...

SpringBoot的pom.xml文件中,scope标签有几种配置?

1.compile&#xff08;默认&#xff09; 含义&#xff1a;表示该依赖在项目的所有阶段&#xff08;编译、测试、运行&#xff09;都需要。 当你依赖一个库&#xff0c;并且这个库是你项目的核心部分&#xff0c;比如 Spring Boot 的spring - boot - starter - web&#xff0c…...

Leetcode729: 我的日程安排表 I

题目描述&#xff1a; 实现一个 MyCalendar 类来存放你的日程安排。如果要添加的日程安排不会造成 重复预订 &#xff0c;则可以存储这个新的日程安排。 当两个日程安排有一些时间上的交叉时&#xff08;例如两个日程安排都在同一时间内&#xff09;&#xff0c;就会产生 重复…...

青少年编程与数学 02-006 前端开发框架VUE 02课题、创建工程

青少年编程与数学 02-006 前端开发框架VUE 02课题、创建工程 一、开发环境&#xff08;一&#xff09;WebStorm安装WebStorm配置WebStorm安装中文语言包安装 Translation插件 &#xff08;二&#xff09;Node.jsWindows系统安装Node.jsLinux系统安装Node.jsNode.js与Vue.js的关…...

Redis的生态系统和社区支持

Redis的生态系统和社区支持 1. Redis 生态系统 1.1 Redis核心 Redis 是一个高性能的内存存储系统,支持丰富的数据结构(如字符串、列表、集合、哈希和有序集合)。它的核心提供了: 高性能数据存储:单线程模型支持每秒数百万级别的操作。多种数据结构:适用于多样化场景,如…...

Tomcat解析

架构图 核心功能 Tomcat是Apache开源的轻量级Java ServletServlet容器&#xff0c;其中一个Server&#xff08;Tomcat实例&#xff09;可以管理多个Service&#xff08;服务&#xff09;&#xff0c;一个Service包含多个Connector和一个Engine&#xff0c;负责管理请求到应用的…...

UML之组合与聚合

关联和链接关系在很多情况下是对称的&#xff0c;即被关联的两个类都有以自己为源端对方为目标端的角色存在&#xff0c;而且角色与源端类的属性是等价的&#xff0c;即在关联一端的关联端&#xff08;角色&#xff09;等价于另外一端的属性。例如&#xff0c;在下图中&#xf…...

数据结构理论篇(期末突击)

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a; 学校课程突击 下面均是为了应付学校考试所用&#xff0c;如果有涉及部分知识点下面未说明&#xff0c;可以去我的数据结构专栏看看或者自行在…...

《一文读懂PyTorch核心模块:开启深度学习之旅》

《一文读懂PyTorch核心模块:开启深度学习之旅》 一、PyTorch 入门:深度学习的得力助手二、核心模块概览:构建深度学习大厦的基石三、torch:基础功能担当(一)张量操作:多维数组的神奇变换(二)自动微分:梯度求解的幕后英雄(三)设备管理:CPU 与 GPU 的高效调度四、to…...

摆脱Zotero存储限制:WebDAV结合内网穿透打造个人文献管理云平台

文章目录 前言一、Zotero安装教程二、群晖NAS WebDAV设置三、Zotero设置四、使用公网地址同步Zotero文献库五、使用永久固定公网地址同步Zotero文献库 前言 如果你是科研工作者、学生或者任何需要频繁处理大量学术资料的人士&#xff0c;你一定对如何高效管理和引用文献感到头…...

Flutter封装一个三方ViewPager学习

Flutter如何实现一个增强的 PageView&#xff0c;支持自定义页面切换动画。 前置知识点学习 CrossAxisAlignment CrossAxisAlignment 是 Flutter 中用于控制布局子组件在交叉轴&#xff08;cross axis&#xff09;方向上的对齐方式的一个枚举类。它主要在 Flex 布局模型中使…...

服务器数据恢复—离线盘数超过热备盘数导致raidz阵列崩溃的数据恢复

服务器数据恢复环境&故障&#xff1a; 一台配有32块硬盘的服务器在运行过程中突然崩溃不可用。经过初步检测&#xff0c;基本上确定服务器硬件不存在物理故障。管理员重启服务器后问题依旧。需要恢复该服务器中的数据。 服务器数据恢复环境&#xff1a; 1、将服务器中硬盘…...

nginx-nginx的缓存集成

缓存的概念 缓存就是数据交换的缓冲区&#xff0c;被称作cache&#xff0c;访用户想要获取数据时&#xff0c;就会先从缓存中去查询数据&#xff0c;如果缓存中有就会直接返回给用户&#xff0c;若果缓存中没有&#xff0c;则会发出请求从服务器中重新查询数据&#xff0c;将数…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...