剑指 Offer 58 - II. 左旋转字符串

class Solution {
public:void rev(string &s,int start,int end)
{for(int i=start,j=end;i<j;i++,j--){swap(s[i],s[j]);}
}string reverseLeftWords(string s, int n) {rev(s,0,s.size()-1);rev(s,0,s.size()-n-1);rev(s,s.size()-n,s.size()-1);return s;}
};

28. 找出字符串中第一个匹配项的下标

class Solution {
public:void getnext(int *next,const string &s){int j=0;next[0]=j;for(int i=1;i<s.size();i++){while(j>0&&s[i]!=s[j]){j=next[j-1];}if(s[i]==s[j]) j++;next[i]=j;}}int strStr(string haystack, string needle) {int n=needle.size();int next[n];getnext(next,needle);int j=0;for(int i=0;i<haystack.size();i++){while(j>0&&haystack[i]!=needle[j]){j=next[j-1];}if(haystack[i]==needle[j]) j++;   if(j==needle.size()) return (i-j+1);}return -1;}
};

459. 重复的子字符串

class Solution {
public:void getnext(int *next,string &s){int j=0;next[0]=j;for(int i=1;i<s.size();i++){while(j>0&&s[i]!=s[j]){j=next[j-1];}if(s[i]==s[j]) j++;next[i]=j;}}bool repeatedSubstringPattern(string s) {int next[s.size()];getnext(next,s);int len=s.size();if(next[len-1]!=0&&len%(len-next[len-1])==0) return true;else return false;}
};

需要重新做的题目
28. 找出字符串中第一个匹配项的下标
459. 重复的子字符串

代码随想录打卡第九天相关推荐

  1. 代码随想录算法训练营第九天

    KMP算法 学习指南: 帮你把KMP算法学个通透!B站(理论篇) 帮你把KMP算法学个通透!(求next数组代码篇) 理论支撑:在找目标子串过程中,为了减少每次查找完都从开头重新查找的时间,KMP算法 ...

  2. 代码随想录打卡第一天

    今日任务 数组理论基础,704. 二分查找,27. 移除元素 704. 二分查找 力扣题目链接(opens new window) 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 ...

  3. 代码随想录打卡day1(补卡)

    35搜索插入位置 Problem: 35. 搜索插入位置 文章目录 思路 解题方法 复杂度 Code 思路 二分法 解题方法 二分法(左闭右闭) 二分法(左闭右开) 复杂度 时间复杂度: O ( lo ...

  4. 代码随想录打卡第6天

    242. 有效的字母异位词 法一:直接两个unordered_map class Solution { public:bool isAnagram(string s, string t) {unord ...

  5. 代码随想录打卡18天

    513. 找树左下角的值 class Solution { public:int findBottomLeftValue(TreeNode* root) {int res;queue<TreeN ...

  6. 代码随想录打卡第二天

    977. 有序数组的平方 class Solution { public:vector<int> sortedSquares(vector<int>& nums) {v ...

  7. 代码随想录打卡14天

    226. 翻转二叉树 class Solution { public:void invert(TreeNode* root){if(root==nullptr) return;TreeNode* no ...

  8. 代码随想录打卡16天

    104. 二叉树的最大深度 class Solution { public:int maxDepth(TreeNode* root) {queue<TreeNode*> que;int c ...

  9. 代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和

    代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和 454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体 ...

最新文章

  1. BeanUtils.copyProperties(对象A,对象B)
  2. 项目安装使用uuid_在uniapp中使用fingerprint2实现游客设备标识
  3. Android之哭笑不得的BUG--xml设置的padding不起作用,幕后黑手竟然是?
  4. Linux GPIO键盘驱动开发记录_OMAPL138
  5. Shell十三问总结
  6. Windows 8 Directx 开发学习笔记(五)山峰河谷模型的简单实现
  7. 关于updatepanel回传之后JS失效问题
  8. python反转数字_[蓝桥杯]使用列表反转的回文数(Python代码),数字,利用,取反
  9. meta分析的基本步骤是什么-附实例讲解,meta分析七步快速见刊策略
  10. pt-archiver归档数据 源库和目标库是否会出现不一致
  11. 1143 Lowest Common Ancestor
  12. 详细教程-阿里网盘部署本机
  13. 设计模式之调停者模式
  14. java 级联删除_JPA级联删除
  15. 如何制作一个完美的全屏视频H5
  16. 数据结构实验——哈夫曼编码
  17. C++ Qt高仿QQ影音视频播放器 (一)
  18. paypal 根据PAY-XXXX查询订单的详情状态
  19. Ubuntu如何安装pacman
  20. 武汉科技大学计算机学院11月月赛:Draw Something

热门文章

  1. linux sed 删除文件前两行和删除文件后两行
  2. 【C语言】快速排序函数qsort()
  3. 中国基因检测行业评估分析与投资发展策略建议报告2022-2028年版
  4. c++ 引发异常:0xC0000005 :写入位置 0x00000189DD36A000时发生冲突
  5. goaccess的安装和使用
  6. Spring技术内幕总结
  7. php json_encode不转义,php json_encode不转义中文汉字的方法
  8. 云开发超多功能工具箱组合微信小程序源码/附带流量主功能介绍
  9. 生物探针技术与使用现状
  10. 简单Unity 3D游戏加密dll文件提取