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

string经典题目(C++)

文章目录

  • 前言
  • 一、最长回文子串
    • 1.题目解析
    • 2.算法原理
    • 3.代码编写
  • 二、字符串相乘
    • 1.题目解析
    • 2.算法原理
    • 3.代码编写
  • 总结


前言

一、最长回文子串

1.题目解析

给你一个字符串 s,找到 s 中最长的回文子串。

示例 1:
输入:s = “babad”
输出:“bab”
解释:“aba” 同样是符合题意的答案。

示例 2:
输入:s = “cbbd”
输出:“bb”

提示:
1 <= s.length <= 1000
s 仅由数字和英文字母组成

2.算法原理

中心扩展算法

回文串有这样一个特点,从中间劈开,两边对称。
固定一个中心点,从中心点开始,向两边扩展。
奇数长度和偶数长度都需要考虑。

在这里插入图片描述

3.代码编写

class Solution {
public:string longestPalindrome(string s) {//中心扩展算法int begin=0;int len=0;int n=s.size();for(int i=0;i<n;i++){int left=i;int right=i;//奇数长度while(left>=0&&right<=n-1&&s[left]==s[right]){left--;right++;}if(right-left-1>len){begin=left+1;len=right-left-1;}//偶数left=i;right=i+1;while(left>=0&&right<=n-1&&s[left]==s[right]){left--;right++;}if(right-left-1>len){begin=left+1;len=right-left-1;}}return s.substr(begin,len);}
};

二、字符串相乘

1.题目解析

43. 字符串相乘

2.算法原理

我们可以按照正常加减法进行进位计算,但是会很麻烦,

无进位相乘然后相加,最后处理进位。

我们需要对两个数组进行逆序。

在这里插入图片描述

同时处理前导0的场景。

我们利用一个数组进行存储,二者相乘结果正好可以放在下标相加的位置。

3.代码编写

class Solution {
public:string multiply(string num1, string num2) {int m=num1.size();int n=num2.size();//两个字符串逆序reverse(num1.begin(),num1.end());reverse(num2.begin(),num2.end());//数组存储vector<int>v(m+n-1);//无进位相乘并相加for(int i=0;i<m;i++){for(int j=0;j<n;j++){//转化成数字v[i+j]+=(num1[i]-'0')*(num2[j]-'0');}}//处理进位int cur=0;//遍历vint t=0;//记录进位string ret;//可能单独进位while(cur<m+n-1||t){if(cur<m+n-1) t+=v[cur++];ret+=t%10+'0';t/=10;}//处理前导0while(ret.size()>1&&ret.back()=='0') ret.pop_back();reverse(ret.begin(),ret.end());return ret;}
};

总结

以上就是今天要讲的内容 。希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘

相关文章:

string经典题目(C++)

文章目录 前言一、最长回文子串1.题目解析2.算法原理3.代码编写 二、字符串相乘1.题目解析2.算法原理3.代码编写 总结 前言 一、最长回文子串 1.题目解析 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 示例 1&#xff1a; 输入&#xff1a;s “babad” 输出&am…...

三篇卫星切换的论文

目录 一、Energy-Aware Satellite Handover based on Deep Reinforcement Learning 1、题目翻译 2、来源 3、内容 二、A Reliable Handover Strategy with Second Satellite Selection in LEO Satellite Networks 1、题目翻译 2、来源 3、内容 三、User Grouping-Based…...

VUE之重定向redirect

VUE之路由和重定向redirect 这个小知识点是在学习做项目的时候遇到的一个问题&#xff0c;借鉴了一个他人的项目&#xff0c;是一个酒店管理系统&#xff0c;拿到源码之后导到我的vscode里。 参考链接 导的过程比较顺利&#xff0c;正常安装&#xff0c;加依赖&#xff0c;没有…...

服务器时区与数据库时区不一致导致时间bug记录

1、背景 一个活动&#xff0c;需要按照自然月刷新&#xff0c;每月一期&#xff0c;以活动开始当月作为第一期&#xff0c;每期可配置不同数据。问题出现在&#xff1a;活动开始时间为本月&#xff0c;但是查询用户数据发现当前为第二期&#xff0c;反复查看代码&#xff0c;确…...

华为鸿蒙HarmonyOS应用开发者高级认证题库

判断题 1、云函数打包完成后&#xff0c;需要到AppGallery Connect创建对应函数的触发器才可以在端侧中调用 错 2、在column和Row容器组件中&#xff0c;aligntems用于设置子组件在主轴方向上的对齐格式&#xff0c;justifycontent用于设置子组件在交叉轴方向上的对齐格式 错…...

细说MCU串口函数及使用printf函数实现串口发送数据的方法

目录 1、硬件及工程 2、串口相关的库函数 &#xff08;1&#xff09;串口中断服务函数&#xff1a; &#xff08;2&#xff09;串口接收回调函数&#xff1a; &#xff08;3&#xff09;串口接收中断配置函数&#xff1a; &#xff08;4&#xff09;非中断发送&#xff…...

PBox iOS端的应用隐藏、图片视频加密软件

哈喽&#xff0c;大家下午好&#xff01;相信大家的手机中一定存在很多的私密内容&#xff0c;比如软件、照片、视频或者文档文件&#xff0c;很多都是不方便让外人看到的&#xff0c;此时就需要一款隐藏工具&#xff0c;市面上这类软件大部分都是收费的&#xff0c;应大家的需…...

【QT5】<总览五> QT多线程、TCP/UDP

文章目录 前言 一、QThread多线程 二、QT中的TCP编程 1. TCP简介 2. 服务端程序编写 3. 客户端程序编写 4. 服务端与客户端测试 三、QT中的UDP编程 1. UDP简介 2. UDP单播与广播程序 前言 承接【QT5】&#xff1c;总览四&#xff1e; QT常见绘图、图表及动画。若存在…...

fastadmin/thinkPHPQueue消息队列详细教程

thinkphp-queue 是thinkphp 官方提供的一个消息队列服务,它支持消息队列的一些基本特性: 消息的发布,获取,执行,删除,重发,失败处理,延迟执行,超时控制等队列的多队列, 内存限制 ,启动,停止,守护等消息队列可降级为同步执行1、通过composer安装thinkPHP消息队列 …...

社区新标准发布!龙蜥社区标准化 SIG MeetUp 圆满结束

5 月 31 日&#xff0c;「龙蜥社区“走进系列”」第 9 期之走进阿里云于北京圆满结束。来自阿里云、浪潮信息、红旗软件、中兴通讯|中兴新支点、中科曙光、中科方德、统信软件、麒麟软件、万里红、普华基础软件、飞腾信息、凝思、申威、新华三等公司的 30 余位专家出席会议。会…...

快速开始一个go程序(极简-快速入门)

一、 实验介绍 1.1 实验简介 为了能更高效地使用语言进行编码&#xff0c;Go 语言有自己的哲学和编程习惯。Go 语言的设计者们从编程效率出发设计了这门语言&#xff0c;但又不会丢掉访问底层程序结构的能力。设计者们通过一组最少的关键字、内置的方法和语法&#xff0c;最终…...

HTTPS缺失?如何轻松解决IP地址访问时的“不安全”警告

一、问题现象 如果访问网站时出现以下任何一种情况&#xff0c;则说明该网站需要立即整改&#xff1a; 1.浏览器地址栏那里出现“不安全”字样&#xff1b; 2.小锁标志被红叉&#xff08;&#xff09;、斜线&#xff08;&#xff3c;&#xff09;等标志为不可用&#xff1b;…...

验证码识别接口、多种样式验证码识别接口、中英文验证码识别接口

验证码识别接口、多种样式验证码识别接口、中英文验证码识别接口 本文提供一个基于OCR和机器学习的验证码识别接口&#xff0c;能够识别较复杂的中文、英文验证码&#xff0c;在OCR的基础上针对验证码进行算法优化。本接口是收费的&#xff08;最低0.5分1次调用&#xff0c;试…...

测试bert_base不同并行方式下的推理性能

测试bert_base不同并行方式下的推理性能 一.测试数据二.测试步骤1.生成bert配置文件2.安装依赖3.deepspeed 4卡tp并行4.FSDP 4卡并行5.手动将权值平均拆到4张卡,单进程多卡推理6.手动切分成4份,基于NCCL实现pipeline并行 本文测试了bert_base模型在不同并行方式下的推理性能 约…...

FFMpeg解复用流程

文章目录 解复用流程图复用器与解复用器小结 解复用流程图 流程图&#xff0c;如上图所示。 复用器与解复用器 复用器&#xff0c;就是视频流&#xff0c;音频流&#xff0c;字幕流&#xff0c;其他成分&#xff0c;按照一定规则组合成视频文件&#xff0c;视频文件可以是mp4…...

438. 找到字符串中所有字母异位词

题目 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的异位词的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词指由相同字母重排列形成的字符串&#xff08;包括相同的字符串&#xff09;。 示例 1: 输入: s "cbaebabacd", p &q…...

【Qt 快速入门(三)】- Qt信号和槽

目录 Qt 快速入门&#xff08;三&#xff09;- Qt信号和槽Qt信号和槽详解信号和槽的基本概念信号槽连接 信号和槽的声明与定义连接信号和槽信号和槽的高级特性自动参数匹配信号与信号连接lambda 表达式作为槽自定义信号和槽 信号和槽的线程支持跨线程连接 信号和槽的生命周期管…...

Debain12 离线安装docker

官网教程&#xff1a;https://docs.docker.com/engine/install/debian/ 步骤 1. 解压 docker-deb.7z 安装包并上传Linux &#xff08;资源在PC端文章顶部&#xff09; 2. 安装 .deb 包 sudo dpkg -i ./containerd.io_<version>_<arch>.deb \./docker-ce_<vers…...

C++day5

思维导图 搭建一个货币的场景&#xff0c;创建一个名为 RMB 的类&#xff0c;该类具有整型私有成员变量 yuan&#xff08;元&#xff09;、jiao&#xff08;角&#xff09;和 fen&#xff08;分&#xff09;&#xff0c;并且具有以下功能&#xff1a; (1)重载算术运算符 和 -…...

SHELL脚本学习(六) 呈现数据

一、标准文件描述符 linux系统会将每个对象当作文件来处理&#xff0c;包括输入和输出。linux用文件描述符来描述每个对象。文件描述符是一个非负整数&#xff0c;唯一会标识的是打开的文件。每个进程一次最多能打开9个文件描述符。处于特殊目的&#xff0c;bash shell保留了前…...

开源工具Cats Blender插件:模型导入效率提升全攻略

开源工具Cats Blender插件&#xff1a;模型导入效率提升全攻略 【免费下载链接】cats-blender-plugin :smiley_cat: A tool designed to shorten steps needed to import and optimize models into VRChat. Compatible models are: MMD, XNALara, Mixamo, DAZ/Poser, Blender R…...

多平台网络资源捕获工具:突破下载限制的技术实现与场景化应用

多平台网络资源捕获工具&#xff1a;突破下载限制的技术实现与场景化应用 【免费下载链接】res-downloader 资源下载器、网络资源嗅探&#xff0c;支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://gitc…...

CVXPY多目标优化终极指南:如何在复杂决策中找到最佳平衡点

CVXPY多目标优化终极指南&#xff1a;如何在复杂决策中找到最佳平衡点 【免费下载链接】cvxpy A Python-embedded modeling language for convex optimization problems. 项目地址: https://gitcode.com/gh_mirrors/cv/cvxpy CVXPY是一个嵌入Python的凸优化建模语言&…...

从时频分析到信号净化:小波变换的降噪实战指南

1. 小波变换基础&#xff1a;从傅里叶到时频分析 第一次接触小波变换时&#xff0c;我和大多数工程师一样&#xff0c;脑子里全是傅里叶变换的影子。记得当时处理一组振动传感器数据&#xff0c;傅里叶变换告诉我信号里存在30Hz和50Hz的成分&#xff0c;但就是找不到这些频率具…...

Axure RP全版本界面本地化:从问题诊断到安全部署的完整指南

Axure RP全版本界面本地化&#xff1a;从问题诊断到安全部署的完整指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包&#xff0c;不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn …...

CentOS 7.9 上TDengine 3.0.4.2 二进制安装避坑指南:从下载到压测一条龙

CentOS 7.9 上TDengine 3.0.4.2 二进制安装实战&#xff1a;从零部署到百万级压测全解析 时序数据库正在成为物联网、工业互联网和金融监控等场景的核心基础设施。作为国产时序数据库的佼佼者&#xff0c;TDengine以其卓越的写入性能和压缩比&#xff0c;正在全球范围内获得越…...

LFM2.5-GGUF开源模型部署指南:适配消费级GPU的高性能文本生成方案

LFM2.5-GGUF开源模型部署指南&#xff1a;适配消费级GPU的高性能文本生成方案 1. 平台介绍 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型&#xff0c;专为消费级GPU环境优化设计。这个1.2B参数的模型采用GGUF格式&#xff0c;能够在资源有限的设备上高效运…...

WindowsCleaner:让C盘重获新生的系统清理解决方案

WindowsCleaner&#xff1a;让C盘重获新生的系统清理解决方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner &#x1f50d; 问题场景&#xff1a;当你的电脑遇见…...

CherryStudio 在火山引擎上的实战应用:构建高可用微服务架构

在微服务架构大行其道的今天&#xff0c;我们团队也面临着许多开发者共同的烦恼&#xff1a;服务数量一多&#xff0c;管理起来就头疼。服务之间怎么互相找到对方&#xff1f;流量来了怎么公平分配&#xff1f;某个服务挂了会不会引发雪崩&#xff1f;这些问题不解决&#xff0…...

ChatTTS离线部署实战:从模型优化到生产环境效率提升

最近在做一个需要离线语音合成的项目&#xff0c;用到了ChatTTS这个效果不错的模型。但直接部署原版模型时&#xff0c;遇到了不少头疼的问题&#xff1a;推理速度慢、内存占用高&#xff0c;在资源受限的生产环境里简直是“吞金兽”。经过一番折腾&#xff0c;总算摸索出一套从…...