【算法专题十一】字符串
文章目录
- 1. leetcode.14.最长公共前缀
- 1.1 题目
- 1.2 思路
- 1.3 代码
- 2. leetcode.5.最长回文字串
- 2.1 题目
- 2.2 思路
- 2.3 代码
- 3. leetcode.67.二进制求和
- 3.1 题目
- 3.2 思路
- 3.3 代码
- 4. leetcode.43.字符串相乘
- 4.1 题目
- 4.2 思路
- 4.3 代码
1. leetcode.14.最长公共前缀
1.1 题目
题目链接
1.2 思路
1.3 代码
class Solution {
public:string longestCommonPrefix(vector<string>& strs) {string ret = strs[0];for(int i = 0; i < strs.size(); i++){ret = HanShu(ret, strs[i]);}return ret;}string HanShu(string& s1, string& s2){int i = 0;while(i < min(s1.size(), s2.size()) && s1[i] == s2[i]){i++;}return s1.substr(0, i);}
};
2. leetcode.5.最长回文字串
2.1 题目
题目链接
2.2 思路
2.3 代码
class Solution {
public:string longestPalindrome(string s) {int begin = 0, len = 0;for(int i = 0; i < s.size(); i++){// 1. 先做奇数次遍历int left = i, right = i;while(left >= 0 && right < s.size() && s[left] == s[right]){left--;right++;if(right - left - 1 > len){begin = left + 1;len = right - left - 1;}}// 2. 再做偶数次遍历left = i, right = i + 1;while(left >= 0 && right < s.size() && s[left] == s[right]){left--;right++;if(right - left - 1 > len){begin = left + 1;len = right - left - 1;}}}return s.substr(begin, len);}
};
3. leetcode.67.二进制求和
3.1 题目
题目链接
3.2 思路
3.3 代码
class Solution {
public:string addBinary(string a, string b) {string ret;int cur1 = a.size() - 1, cur2 = b.size() - 1, t = 0;while(cur1 >= 0 || cur2 >= 0 || t > 0){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. leetcode.43.字符串相乘
4.1 题目
题目链接
4.2 思路
4.3 代码
class Solution {
public:string multiply(string n1, string n2) {// 1. 首先进行 不进位相乘int m = n1.size(), n = n2.size();reverse(n1.begin(), n1.end());reverse(n2.begin(), n2.end());vector<int> tmp(m + n - 1);for(int i = 0; i < m; i++){for(int j = 0; j < n; j++){tmp[i + j] += (n1[i] - '0') * (n2[j] - '0');}}// 2. 处理进位string ret;int cur = 0, t = 0;while(cur < m + n - 1 || t != 0){if(cur < m + n - 1) t += tmp[cur++];ret += t % 10 + '0';t /= 10;}// 3. 处理前导0while(ret.size() > 1 && ret.back() == '0') ret.pop_back();reverse(ret.begin(), ret.end());return ret;}
};
相关文章:

【算法专题十一】字符串
文章目录 1. leetcode.14.最长公共前缀1.1 题目1.2 思路1.3 代码 2. leetcode.5.最长回文字串2.1 题目2.2 思路2.3 代码 3. leetcode.67.二进制求和3.1 题目3.2 思路3.3 代码 4. leetcode.43.字符串相乘4.1 题目4.2 思路4.3 代码 1. leetcode.14.最长公共前缀 1.1 题目 题目链…...

美化IDEA注释:Idea 中快捷键 Ctrl + / 自动注释的缩进(避免添加注释自动到行首)以及 Ctrl + Alt + l 全局格式化代码的注释缩进
打开 Settings 界面,依次选择 Editor -> Code Style -> Java,选择 Code Generation, 取消 Line comment at first column 和 Block comment at first column 的勾选即可, 1、Line comment at first column (行注释在第一列…...
如何为APP应用程序选择合适的服务器
搭建一个成功的APP应用程序,服务器选择是至关重要的决策之一。合适的服务器不仅能确保应用流畅运行,还能节省成本并保障安全性。本文将为您详细解析如何为APP选择最佳服务器方案。 一、了解您的APP需求 在选择服务器前,首先需要明确您的应用…...

赛灵思 XCZU11EG-2FFVC1760I XilinxFPGAZynq UltraScale+ MPSoC EG
XCZU11EG-2FFVC1760I 是 Zynq UltraScale MPSoC EG 系列中性能最强的器件之一,集成了四核 ARM Cortex-A53 应用处理器、双核 Cortex-R5 实时处理器与 Mali-400 MP2 GPU,并结合了 653,100 个逻辑单元与丰富的片上存储资源,可满足高性能计算、A…...

Android Camera HAL v3 and Video4Linux 2
《小驰行动派的知识星球》 ———————————————— 推荐阅读: 关于博主 《小驰Camera私房菜》小册目录 采用v4l2loopback来实现 虚拟Camera Camera基础及一些基本概念 Android Camera 学习路线 | 个人推荐 Android Camera开发系列(干货满满&a…...

基于pyqt的上位机开发
目录 安装依赖 功能包含 运行结果 安装依赖 pip install pyqt5 pyqtgraph pyserial 功能包含 自动检测串口设备,波特率选择/连接断开控制,数据发送/接收基础框架,实时绘图区域(需配合数据解析) ""&q…...
WHAT - Rust 智能指针
文章目录 常见的智能指针类型1. Box<T> — 堆上分配的数据2. Rc<T> — 引用计数的共享所有权(单线程)3. Arc<T> — 原子引用计数(多线程)4. RefCell<T> — 运行时可变借用(单线程)…...

CentOS 7 系统下安装 OpenSSL 1.0.2k 依赖问题的处理
前面有提到过这个openssl的版本冲突问题,也是在这次恢复服务器时遇到的问题,我整理如下,供大家参考。小小一个软件的安装,挺坑的。 一、问题 项目运行环境需要,指定PHP7.0.9这个版本,但是系统版本与软件…...

vue修改了node_modules中的包,打补丁
1、安装patch npm i patch-package 安装完成后,会在package.json中显示版本号 2、在package.json的scripts中增加配置 "postinstall": "patch-package" 3、执行命令 npx patch-package 修改的node_modules中的包的名称 像这样 npx patch-packag…...

[matlab]private和+等特殊目录在新版本matlab中不允许添加搜索路径解决方法
当我们目录包含有private,或者时候matlab搜索目录不让添加,比如截图: 在matlab2018以前这些都可以加进去后面版本都不行了。但是有时候我们必须要加进去才能兼容旧版本matlab库,比如mexopencv库就是这种情况。因此我们必须找到一个办法加进去…...
十七、统一建模语言 UML
统一建模语言(Unified Modeling Language,UML)是一种通用的建模语言,具有创建系统的静态结构和动态行为等多种结构模型的能力,具有可扩展性和通用性,适合于多种多变结构系统的建模。 统一建模语言的特点&am…...

OpenTelemetry 介绍
文章目录 1. 概述什么是OpenTelemetry发展历史与背景主要特点与优势2. 核心概念追踪(Tracing)指标(Metrics)日志(Logs)行李(Baggage)3. 主要组件API层SDK层数据收集器(Collector)导出器(Exporters)OTLP(OpenTelemetry Protocol)4. 集成方式语言支持(SDK)自动与手动插桩常见框…...

【连载14】基础智能体的进展与挑战综述-多智能体系统设计
基础智能体的进展与挑战综述 从类脑智能到具备可进化性、协作性和安全性的系统 【翻译团队】刘军(liujunbupt.edu.cn) 钱雨欣玥 冯梓哲 李正博 李冠谕 朱宇晗 张霄天 孙大壮 黄若溪 在基于大语言模型的多智能体系统(LLM-MAS)中,合作目标和合…...

blender云渲染指南2025版
一、云渲染核心概念 Blender云渲染是将本地渲染任务迁移到云端服务器集群的技术,通过分布式计算实现效率提升100倍以上的解决方案,其核心逻辑是:用户上传Blender项目文件至【渲染101】等云平台,云端调用高性能服务器(…...

Mysql-OCP PPT课程讲解并翻译
#跳过介绍,直接从干货开始记录 第一章 安装mysql windows安装...

加速项目落地(Trae编辑器)
目录 vscode安装python支持 vscode常用插件 Trae编辑器 两个界面合成 补充(QT开发的繁琐) AI编程哪家强?Cursor、Trae深度对比,超详细! - 知乎 Trae兼容vscode的插件,我们可以先在vscode里面装好再一…...

配置 Web 服务器练习
一、要求 1.通过https://ip 可以访问到网站首页 2.通过 https://ip/private/ 实现用户访问控制,仅允许已经添加的 tom,jerry 能够访问到 private 子路径的界面 3.通过 https://ip/vrit/ 实现能够访问到将系统 /nginx/virt 目录下的网页文件࿰…...

Python程序,输入IP,扫描该IP哪些端口对外是开放的,输出端口列表
#!/usr/bin/env python # -*- coding: utf-8 -*-""" IP端口扫描程序 输入IP地址,扫描该IP哪些端口对外是开放的,输出端口列表 """import socket import sys import concurrent.futures import ipaddress from tabulate im…...
如何设置内网映射端口到外网访问?哪些软件可以进行端口映射?
大多数时候我们所使用的服务器都是在内网搭建的,而且内网是可以访问外网的,但外网是没法直接访问内网IP和端口服务的。也就是说外网无法直接访问到内网的网络地址,需要大家去搭建一个内外网互通的桥梁,把内网服务器指定端口映射到…...

OpenCv实战笔记(3)基于opencv实现调用摄像头并实时显示画面
一、实现效果 二、实现原理 使用 OpenCV 打开摄像头,持续捕获视频帧,并在一个窗口中实时显示这些帧,直到用户按下 ESC 键退出。整体流程:打开摄像头(cv::VideoCapture)>创建图像显示窗口(cv…...
QMK键盘固件自定义指南 - 打造你的专属键盘体验
QMK键盘固件自定义指南 - 打造你的专属键盘体验 🚀 前言 在机械键盘的世界里,QMK固件让你的键盘不再只是简单的输入设备,而是可以按照你的意愿定制的强大工具。本文将深入浅出地介绍如何自定义QMK键盘的行为,从基础概念到高级应…...

upload-labs靶场通关详解:第四关
一、分析源代码 可以看出这一关仍然是黑名单验证,但是它禁止了更多的后缀。像php3,php4这类后缀也被加入了黑名单,第三关的方法在这里显然就失效了。那么我们想一想,既然配置文件中存在将php3当作php来执行的功能,那么…...

openharmony系统移植之gpu mesa3d适配
openharmony系统移植之gpu mesa3d适配 文章目录 openharmony系统移植之gpu mesa3d适配1. 环境说明2. gpu内核panfrost驱动2.1 使能panfrost驱动2.2 panfrost dts配置 3. buildroot下测试gpu驱动3.1 buildroot配置编译 4. ohos下mesa3d适配4.1 ohos下mesa3d编译调试4.1.2 编译4.…...

Linux58 ssh服务配置 jumpserver 测试双网卡 为何不能ping通ip地址
判断为NAT模式网卡 能ping 通外网 ens34为仅主机模式网卡 [rootlocalhost network-scripts]# ip route show default default via 10.1.1.254 dev ens33 proto static metric 100 10.0.0.0/8 dev ens33 proto kernel scope link src 10.1.1.37 metric 100 11.0.0.0/8 dev…...
LangChain:大语言模型应用的“瑞士军刀”入门指南
LanChain入门指南 什么是LangChain?LangChain的核心价值1. 模块化设计 - AI界的"乐高积木"2. 典型应用场景 快速入门实战环境准备第一个示例:公司命名生成器进阶功能:带记忆的对话机器人 学习路线建议常见问题解答总结 什么是LangC…...
网站网页经常 400 错误,清缓存后就好了的原因剖析
目录 一、HTTP 400 错误的常见起因(一)URL 有问题(二)缓存或 Cookie 出状况(三)文件尺寸超标(四)请求头信息不对劲二、清缓存为何能奏效三、其他可以尝试的解决办法(一)重新检查 URL(二)暂时关闭浏览器插件(三)切换网络环境(四)更新浏览器版本(五)检查服务器…...
Redis BigKey 问题是什么
BigKey 问题是什么 BigKey 的具体表现是 redis 中的 key 对应的 value 很大,占用的 redis 空间比较大,本质上是大 value 问题。 BigKey怎么找 redis-cli --bigkeysscanBig Key 产生的原因 1.redis数据结构使用不恰当 2.未及时清理垃圾数据 3.对业务预…...

web 自动化之 selenium+webdriver 环境搭建及原理讲解
文章目录 一、web 自动化测试学习说明二、什么 web 自动化测试三、selenium 简介四、web自动化测试环境搭建五、web 自动化测试第一个脚本六、selenium 原理及源码讲解 一、web 自动化测试学习说明 进阶 web 自动化测试学习:掌握 python 编程基础 二、什么 web 自…...

2025ISCC练武校级赛部分题解WP
Web 战胜卞相壹 <!-- 路过的酒罐王柯洁九段说: --> <!-- 会叠棋子有什么用!你得在棋盘内战胜他!我教你个定式,要一直记得!一直! --> <!-- SGF B[ae];B[ce];B[df];B[cg];B[ag];B[ai];B[ci];…...

PyTorch 版本、torchvision 版本和 Python 版本的对应关系
PyTorch 版本、torchvision 版本和 Python 版本的对应关系 在深度学习领域,PyTorch 及其配套库 torchvision 的使用极为广泛。但不同版本的 PyTorch、torchvision 与 Python 之间存在严格的对应关系,若版本搭配不当,会导致代码运行出错…...