leetcode算法之字符串
目录
- 1.最长公共前缀
- 2.最长回文子串
- 3.二进制求和
- 4.字符串相乘
1.最长公共前缀
最长公共前缀

class Solution {
public:string longestCommonPrefix(vector<string>& strs) {//法一:两两比较string ret = strs[0];for(int i=1;i<strs.size();i++){ret = findCommon(ret,strs[i]);}return ret;}string findCommon(string& s1,string& s2){int i = 0;while(i<min(s1.size(),s2.size()) && s1[i]==s2[i]) i++;return s1.substr(0,i);}
};
class Solution {
public:string longestCommonPrefix(vector<string>& strs) {//法二:统一比较int n = strs[0].size();for(int i=0;i<n;i++){char tmp = strs[0][i];for(int j = 1;j<strs.size();j++){if(i == strs[j].size() || tmp != strs[j][i]){return strs[0].substr(0,i);}}}return strs[0];}
};
2.最长回文子串
最长回文子串

class Solution {
public:string longestPalindrome(string s) {//使用中心扩展算法求解int begin = 0,len = 0,n = s.size();for(int i=0;i<n;i++){//先做奇数长度的扩展int left = i,right = i;while(left>=0 && right<n && 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&& s[left] == s[right]){left--;right++;}if(right-left-1>len){begin = left+1;len = right - left-1;}}return s.substr(begin,len);}
};
3.二进制求和
二进制求和

class Solution {
public:string addBinary(string a, string b) {//模仿列竖式相加int t = 0;//表示进位int cur1 = a.size()-1;int cur2 = b.size()-1;string ret;while(cur1>=0 || cur2>=0 || t){if(cur1>=0) t+=a[cur1--]-'0';if(cur2>=0) t+=b[cur2--]-'0';ret += t%2+'0';t /=2;}reverse(ret.begin(),ret.end());return ret;}
};
4.字符串相乘
字符串相乘

class Solution {
public:string multiply(string num1, string num2) {//高精度乘法//使用无进位相乘再相加,最后再处理进位//1.准备工作int m = num1.size(),n = num2.size();reverse(num1.begin(),num1.end());reverse(num2.begin(),num2.end());vector<int> tmp(m+n-1);//2.无进位相乘再相加for(int i=0;i<n;i++){for(int j=0;j<m;j++){tmp[i+j] += (num2[i]-'0')*(num1[j]-'0');}}//3.处理进位int cur = 0,t = 0;string ret;while(cur<m+n-1 || t!=0){if(cur<m+n-1) t+=tmp[cur++];ret += t%10+'0';t /= 10;}//4.处理前导零while(ret.size()>1 && ret.back() == '0') ret.pop_back();//5.注意输出结果顺序reverse(ret.begin(),ret.end());return ret;}
};
相关文章:
leetcode算法之字符串
目录 1.最长公共前缀2.最长回文子串3.二进制求和4.字符串相乘 1.最长公共前缀 最长公共前缀 class Solution { public:string longestCommonPrefix(vector<string>& strs) {//法一:两两比较string ret strs[0];for(int i1;i<strs.size();i){ret f…...
mongodb查询数据库集合的基础命令
基础命令 启动mongo服务 mongod -f /usr/local/mongodb/mongod.conf //注意配置文件路径停止mongo服务 关闭mongodb有三种方式: 一种是进入mongo后通过mongo的函数关闭; use admin db.shutdownServer()一种是通过mongod关闭; mongod --s…...
基于FactoryBean、实例工厂、静态工厂创建Spring中的复杂对象
😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783…...
Android 如何让路由器或者其他AP设备获取到主机名
问题原因: 连接到AP设备后,发现主机名在路由器或者其他AP设备都无法正常显示 抓取tcpdump log发现DHCP request option中没有携带host name(Option 12)字段 如下图所示 修改方法: 将config_dhcp_client_hostname配置true后,可以看到host name了 具体代码逻辑如下 pack…...
java三大集合类--List
List Set Map 一、List 几个小问题: 1、接口可以被继承吗?(可以) 2、接口可以被多个类实现吗?(可以) 3、以下两种写法有什么区别? //List list1new List();是错误的因为List()…...
机器人向前冲
欢迎来到程序小院 机器人向前冲 玩法:一直走动的机器人,点击鼠标左键进行跳跃,跳过不同的匝道,掉下去即为游戏接续, 碰到匝道铁钉游戏结束,一直往前冲吧^^。开始游戏https://www.ormcc.com/play/gameStart…...
jq——实现弹幕滚动(往左滚动+往右滚动)——基础积累
最近同事在写弹幕功能,下面记录以下代码: 1.html代码 <div id"scrollContainer"></div>2.引入jq <script src"./script/jquery-1.8.3.js" type"text/javascript"></script>3.jq代码——往左滚…...
深度学习第2天:RNN循环神经网络
☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 文章目录 介绍 记忆功能对比展现 任务描述 导入库 处理数据 前馈神经网络 循环神经网络 编译与训练模型 模型预测 可能的问题 梯度消失 梯…...
深度学习之基于百度飞桨PaddleOCR图像字符检测识别系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介主要特点使用步骤 二、功能三、系统四. 总结 一项目简介 # Introduction to PaddleOCR Image Character Detection and Recognition System Based on Baidu…...
九、LuaTable(表)
文章目录 一、定义二、Table(表)的构造三、Table 操作(一)Table连接(二)插入和移除(三)Table 排序(四)Table 最大值 一、定义 table 是 Lua 的一种数据结构用来帮助我们创建不同的数…...
每日一题(LeetCode)----链表--链表最大孪生和
每日一题(LeetCode)----链表–链表最大孪生和 1.题目(2130. 链表最大孪生和) 在一个大小为 n 且 n 为 偶数 的链表中,对于 0 < i < (n / 2) - 1 的 i ,第 i 个节点(下标从 0 开始)的孪生节点为第 (n…...
腾讯云轻量服务器通过Docker搭建外网可访问连接的redis5.x集群
原创/朱季谦 最近买了一台4核16的腾讯云轻量应用服务器,花了我快四百的大洋,打算搭建一堆docker组件集群,最先开始是通过docker搭建redis集群,计划使用三个端口,分别是7001,7002,7003。 腾讯云服务器有防火墙限制,故…...
C++学习之路(十一)C++ 用Qt5实现一个工具箱(增加一个进制转换器功能)- 示例代码拆分讲解
上篇文章,我们用 Qt5 实现了在小工具箱中添加了《时间戳转换功能》功能。为了继续丰富我们的工具箱,今天我们就再增加一个平时经常用到的功能吧,就是「 进制转换 」功能。下面我们就来看看如何来规划开发一个这样的小功能并且添加到我们的工具…...
C语言每日一题(40)栈实现队列
力扣232 用栈实现队列 题目描述 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并…...
Vue.js 的生命周期
Vue.js 的生命周期钩子函数是一组在 Vue 实例生命周期中执行的函数,它们允许你在特定阶段执行自定义逻辑。以下是 Vue.js 的生命周期钩子函数以及它们在生命周期中的执行时机: 1、beforeCreate: 在实例初始化之后,数据观测 (data observer)…...
SeaTunnel引擎下的SQL Server CDC解决方案:构建高效数据管道
在快速发展的数据驱动时代,实时数据处理已经成为企业决策和运营的关键因素。特别是在处理来自各种数据源的信息时,如何确保数据的及时、准确和高效同步变得尤为重要。本文着重介绍了如何利用 SqlServer CDC 源连接器在 SeaTunnel 框架下实现 SQL Server …...
【攻防世界-misc】Encode
1.下载解压文件,打开这个内容有些疑似ROT13加密,利用在线工具解密:ROT13解码计算器 - 计算专家 得到了解密后的值 得到解码结果后,看到是由数字和字母组成,再根据题目描述为套娃,猜测为base编码(…...
visual c++ 2019 redistributable package
直接安装下面包只有24M Microsoft Visual C Redistributable 2019 x86: https://aka.ms/vs/16/release/VC_redist.x86.exe x64: https://aka.ms/vs/16/release/VC_redist.x64.exe ———————————————— 版权声明:本文为CSDN博主「kpacnB_Z」的原创文章…...
WPF中DataGrid解析
效果如图: 代码如下: <DataGrid Grid.Row"1" x:Name"dataGrid" ItemsSource"{Binding DataList}" AutoGenerateColumns"False"SelectedItem"{Binding SelectedItem,UpdateSourceTriggerPropertyChange…...
在数据库中进行表内容的修改(MYSQL)
根据表中内容,用命令语句创建数据库,表格,以及插入,修改,删除表格中的内容。 创建数据库:zrzy mysql> create database zrzy; 引用zrzy数据库: mysql> use zrzy; 创建student_info表&…...
彻底搞懂Autoresearch:Agent无人值守炼丹揭秘,看这一篇就够了!
Autoresearch 是一项完全由 AI 驱动的自主机器学习研究实验,由 Andrej Karpathy创建。其核心思想非常简单:赋予 Agent 一个真实可用的 GPT 训练环境,让其自主进行实验——修改代码、运行 5 分钟的短时训练、评估结果,并决定保留还…...
和AI一起搞事情#:边剥龙虾边做个中医技能来起号酌
1. 核心概念 在 Antigravity 中,技能系统分为两层: Skills (全局库):实际的代码、脚本和指南,存储在系统级目录(如 ~/.gemini/antigravity/skills)。它们是“能力”的本体。 Workflows (项目级):…...
mysql如何在本地开发环境模拟生产环境_利用Docker克隆
用Docker快速拉起与生产一致的MySQL实例需:拉取对应版本镜像(如mysql:8.0.33)、挂载生产my.cnf、显式指定字符集(utf8mb4)和SQL模式、处理GTID导致的导入失败(加--set-gtid-purgedOFF或RESET MASTER&#x…...
如何通过Bilibili-Evolved实现B站动画60fps流畅播放优化指南
如何通过Bilibili-Evolved实现B站动画60fps流畅播放优化指南 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved 想要在哔哩哔哩享受影院级别的动画播放体验吗?Bilibili-Evolved作为一…...
C语言中的泛型尝试:void_ + 函数指针
文章目录C语言中的泛型尝试:void* 函数指针 🧪什么是泛型?🤔C语言中的工具:void* 和函数指针 🛠️代码示例:泛型排序函数 📝进阶示例:泛型链表 📚优缺点分析…...
LLM API 防降智!IMMACULATE 框架,1% 开销搞定审计验证
来源:机器之心 本文约2500字,建议阅读5分钟本文介绍了 IMMACULATE 框架,可低开销审计黑盒 LLM API 违规行为。本文作者分别来自新加坡国立大学和加州大学伯克利分校。第一作者郭衍培来自新加坡国立大学,长期关注大语言模型基础设施…...
SEATA分布式事务——AT模式言
简介 AI Agent 不仅仅是一个能聊天的机器人(如普通的 ChatGPT),而是一个能够感知环境、进行推理、自主决策并调用工具来完成特定任务的智能系统,更够完成更为复杂的AI场景需求。 AI Agent 功能 根据查阅的资料,agent的…...
别再死磕大卷积核了!用3x3小核+ShiftwiseConv,在ImageNet上跑出SOTA的保姆级解读
3x3小核ShiftwiseConv:在ImageNet上实现SOTA的实战指南 当整个计算机视觉社区沉迷于堆叠更大的卷积核时,CVPR 2025的一项研究却反其道而行——用精巧的3x3小核配合ShiftwiseConv模块,在ImageNet上实现了超越31x31大核模型的性能。这并非简单…...
VCF 私有 AI 服务(PAIS)自签名 TLS 证书配置避坑指南
在实验室或概念验证环境中,自签名 TLS 证书是 VCF 私有 AI 服务(PAIS)部署的常用选择,但常因底层库验证机制差异引发各类报错。本文针对 PAIS 部署中两类高频证书问题 ——API 容器启动失败与 Harbor 模型推送报错,拆解报错根源,提…...
SMUDebugTool专业级实战指南:Ryzen系统深度调试与优化
SMUDebugTool专业级实战指南:Ryzen系统深度调试与优化 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…...
