代码随想录打卡第九天
剑指 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. 重复的子字符串
代码随想录打卡第九天相关推荐
- 代码随想录算法训练营第九天
KMP算法 学习指南: 帮你把KMP算法学个通透!B站(理论篇) 帮你把KMP算法学个通透!(求next数组代码篇) 理论支撑:在找目标子串过程中,为了减少每次查找完都从开头重新查找的时间,KMP算法 ...
- 代码随想录打卡第一天
今日任务 数组理论基础,704. 二分查找,27. 移除元素 704. 二分查找 力扣题目链接(opens new window) 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 ...
- 代码随想录打卡day1(补卡)
35搜索插入位置 Problem: 35. 搜索插入位置 文章目录 思路 解题方法 复杂度 Code 思路 二分法 解题方法 二分法(左闭右闭) 二分法(左闭右开) 复杂度 时间复杂度: O ( lo ...
- 代码随想录打卡第6天
242. 有效的字母异位词 法一:直接两个unordered_map class Solution { public:bool isAnagram(string s, string t) {unord ...
- 代码随想录打卡18天
513. 找树左下角的值 class Solution { public:int findBottomLeftValue(TreeNode* root) {int res;queue<TreeN ...
- 代码随想录打卡第二天
977. 有序数组的平方 class Solution { public:vector<int> sortedSquares(vector<int>& nums) {v ...
- 代码随想录打卡14天
226. 翻转二叉树 class Solution { public:void invert(TreeNode* root){if(root==nullptr) return;TreeNode* no ...
- 代码随想录打卡16天
104. 二叉树的最大深度 class Solution { public:int maxDepth(TreeNode* root) {queue<TreeNode*> que;int c ...
- 代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和
代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和 454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体 ...
最新文章
- BeanUtils.copyProperties(对象A,对象B)
- 项目安装使用uuid_在uniapp中使用fingerprint2实现游客设备标识
- Android之哭笑不得的BUG--xml设置的padding不起作用,幕后黑手竟然是?
- Linux GPIO键盘驱动开发记录_OMAPL138
- Shell十三问总结
- Windows 8 Directx 开发学习笔记(五)山峰河谷模型的简单实现
- 关于updatepanel回传之后JS失效问题
- python反转数字_[蓝桥杯]使用列表反转的回文数(Python代码),数字,利用,取反
- meta分析的基本步骤是什么-附实例讲解,meta分析七步快速见刊策略
- pt-archiver归档数据 源库和目标库是否会出现不一致
- 1143 Lowest Common Ancestor
- 详细教程-阿里网盘部署本机
- 设计模式之调停者模式
- java 级联删除_JPA级联删除
- 如何制作一个完美的全屏视频H5
- 数据结构实验——哈夫曼编码
- C++ Qt高仿QQ影音视频播放器 (一)
- paypal 根据PAY-XXXX查询订单的详情状态
- Ubuntu如何安装pacman
- 武汉科技大学计算机学院11月月赛:Draw Something
热门文章
- linux sed 删除文件前两行和删除文件后两行
- 【C语言】快速排序函数qsort()
- 中国基因检测行业评估分析与投资发展策略建议报告2022-2028年版
- c++ 引发异常:0xC0000005 :写入位置 0x00000189DD36A000时发生冲突
- goaccess的安装和使用
- Spring技术内幕总结
- php json_encode不转义,php json_encode不转义中文汉字的方法
- 云开发超多功能工具箱组合微信小程序源码/附带流量主功能介绍
- 生物探针技术与使用现状
- 简单Unity 3D游戏加密dll文件提取