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

kmp复习,需要多看多练

151. 反转字符串中的单词 - 力扣(LeetCode)

class Solution {
public:string reverseWords(string s) {int n = s.size();int i = n - 1;string res;while(i >= 0){while(i >= 0 &&  s[i] == ' ') i--;if(i < 0) break;int j = i;while(i >= 0 &&  s[i] != ' ') i--;if(!res.empty()){res.push_back(' ');}res.append(s, i + 1, j - i);}return res;}
};

28. 找出字符串中第一个匹配项的下标 - 力扣(LeetCode)

class Solution {
public:int strStr(string haystack, string needle) {string s = needle + '#' + haystack;int n = s.size();int m = needle.size();vector<int> prefix(n);for(int i = 1; i < n; i++){int j = prefix[i - 1];while(j > 0 && s[i] != s[j]){j = prefix[j - 1];}if(s[i] == s[j]) prefix[i] = j + 1;if(prefix[i] == m) return i - m * 2;}return -1;}
};

55. 右旋字符串(第八期模拟笔试)

#include <iostream>
using namespace std;
#include <string>
#include <algorithm>int main(){int k;cin >> k;string s;cin >> s;int n = s.size();//string res;//res = s.substr( n - k , k) + s.substr(0, n - k );//cout << res << endl;reverse(s.begin(), s.begin() + n - k);reverse(s.begin() + n - k, s.end());reverse(s.begin(), s.end());cout <<  s;
}

459. 重复的子字符串 - 力扣(LeetCode)

class Solution {
public:bool repeatedSubstringPattern(string s) {int n = s.length();vector<int>  prefix(n);for(int i = 1; i < n; i++){int len = prefix[i - 1];while(len > 0 && s[len] != s[i]){len = prefix[len - 1];}if(s[len] == s[i]) prefix[i] = len + 1;}int res = n - prefix[n - 1];return  n % res == 0 && res > 0 && res < n  ;}
};

http://www.dtcms.com/a/308655.html

相关文章:

  • 类和对象(前章)
  • 藏语识别技术在媒资行业的应用案例剖析
  • SELinux 核心概念与访问控制机制解析
  • Windows 10 WSLUbuntu 22.04 安装并迁移到 F 盘
  • MyBatis入门---环境搭建
  • 基于SpringBoot和SpringAI框架实践
  • 案例开发 - 日程管理 - 第四期
  • 鸿蒙开发交叉类型
  • 《零基础入门AI:传统机器学习核心算法(决策树、随机森林与线性回归)》
  • pyspark使用
  • 使用SFTTrainer进行微调
  • sqli-labs靶场Less24
  • FlexLM/SLM协议解析
  • [硬件电路-110]:模拟电路 - 能量并非凭空产生,自激振荡器,一种把直流能量转换成交流信号的装置!
  • TCP/IP协议的安全隐患与防范措施
  • php session 和 jwt 区别和使用场景
  • TCP窗口缩放配置在云服务器高延迟网络中的参数调整测试
  • 如何快速部署主数据管理解决方案?
  • 用于Forza系列测试自动化的3D可视化工具
  • MySQL 8.0 OCP 1Z0-908 题目解析(38)
  • Android Jetpack消息推送全解析:从FCM集成到Jetpack组件优化
  • 信令和信号在通信领域的区别
  • 详解分布式数据库缓存技术:高性能数据访问的基石
  • 【javascript】Reflect学习笔记
  • OCP网卡、OVS网卡和DPU(数据处理单元)三类技术方案
  • system.conf linux用于启动和管理系统进程的初始化系统和服务管理器的配置文件
  • 检索召回率优化探究二:基于 LangChain 0.3集成 Milvus 2.5向量数据库构建的智能问答系统
  • 中国高速铁路网的“四纵四横“和“八纵八横“shp数据
  • LLM——使用 LangGraph 构建 ReAct 智能体:多轮对话 + 工具调用 + 可视化流程图
  • flowable对已经部署的流程进行更新,不产生新版本