Leetcode每日一题:28.implement-strstr(实现strStr())
思路:KMP实现虽然效率高,但较为复杂;
这里索性直接hash,注意int溢出,一定要取余
int strStr(string haystack, string needle)
{int len1 = haystack.length();int len2 = needle.length();if (len2 == 0)return 0;if (len1 < len2)return -1;vector<int> res;for (int i = 0; i <= len1 - len2; i++){long hash = 0;int iCopy = i;for (int k = 0; k < len2; k++){hash = hash * 27 + haystack[iCopy++] - 'a';if (hash > INT_MAX)hash = hash % INT_MAX;}res.push_back(hash);}long hashNeedle = 0;for (int k = 0; k < len2; k++){hashNeedle = hashNeedle * 27 + needle[k] - 'a';if (hashNeedle > INT_MAX)hashNeedle = hashNeedle % INT_MAX;}for (int i = 0; i < res.size(); i++){if (res[i] == hashNeedle)return i;}return -1;
}
Leetcode每日一题:28.implement-strstr(实现strStr())相关推荐
- leetcode python3 简单题28. Implement strStr()
1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第二十八题 (1)题目 英文: Implement strStr(). Return ...
- LeetCode每日一题(28. Find the Index of the First Occurrence in a String)
Given two strings needle and haystack, return the index of the first occurrence of needle in haystac ...
- leetcode每日刷题计划-简单篇day8
leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...
- Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)
思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...
- 【LeetCode每日一题】1723. 完成所有工作的最短时间
[LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...
- leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用
leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...
- LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色
LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...
- 【LeetCode每日一题】——109.有序链表转换二叉搜索树
文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...
- leetcode每日一题·救生艇问题(Python)
leetcode每日一题·救生艇问题(Python) 问题描述 题目入口 题目思路 首先分析问题,一个船最多坐两人,因此我们可以把这个问题看作两两组合的问题,并且如果最重的那个人和最轻的人加起来大于l ...
最新文章
- 关于epel源的配置
- Linux内核学习笔记十一——I/O层和I/O调度机制
- js中 replace(/\//g, '') 什么作用. 正则表达式
- Linux环境下USB的原理、驱动和配置
- 用javah 导出类的头文件, 常见的错误及正确的使用方法
- koa --- [MVC实现之二]Controller层的实现
- 系统架构师5 ***********那就给个合格分了。111
- layuimini 图标颜色便捷指定
- 华为P50 Pro/Pro+更多细节曝光:6.7寸120Hz单孔屏 比前作更轻薄
- weblogic故障报错
- 异常处理2:异常处理方式、问区别的面试题汇总
- Atitit.你这些项目不都是模板吗?不是原创 集成和整合的方式大总结
- 雷军:《硅谷之火》给了我一个世界级的梦想
- 【重点】commons-dbutils
- Linux 下du命令详解及代码实现
- OffiSmart Summit智慧办公及空间管理上海线下峰会精彩亮点抢先看
- DD-路径图、MM-路径图的定义与区别联系
- 解决webstorm调试js时Evaluate脚本获取dom属性丢失问题
- python计算abcd*4=dcba_abcd乘以4等于dcba的解答方法
- 33:判断字符串是否为回文