字符串
cc 提升ing 变优秀ing
有需要搜广推nlp实习生的部门吗?
展开
-
leetcode:面试题 01.09. 字符串轮转(字符串,简单)
题目:分析:以为是KMP看题解,直接拼接就可以啦!注意拼接这个思路,不止一次出现了。代码:class Solution {public: bool isFlipedString(string s1, string s2) { if(s1.length()!=s2.length()) return 0; if(s1==s2) return 1; string ss=s1+s1; for(int i=0;i<s1.le原创 2020-12-27 21:02:22 · 126 阅读 · 0 评论 -
leetcode:第 218 场周赛:设计 Goal 解析器(字符串)
题目:分析:一道水题,把最后一个空出来的思路很好。代码:class Solution {public: string interpret(string command) { string s=""; for(int i=0;i<command.size()-1;i++) { if(command[i]=='G') { s+=command[i];原创 2020-12-06 13:09:28 · 152 阅读 · 0 评论 -
459. 重复的子字符串(简单,字符串)
题目:分析:我的思路:开个26数组,然后统计个数,排序,找26个数字的公因数。不对,还看错题了。题解:掐头去尾:无循环的为什么一定没有?若果有,则如图中分析的一部分在A,一部分在B,较短的部分若果被总长整除,那么会出现上述由图的情况,矛盾。不整除,有复杂的相等关系,不再分析。代码:class Solution: def repeatedSubstringPattern(self, s: str) -> bool: return s in (s+s)[1:-1原创 2020-12-05 21:59:50 · 88 阅读 · 0 评论 -
leetcode:76. 最小覆盖子串(困难,字符串)
题目:分析:一看不一定有序,就被吓倒了,直接答案,太菜了,原来就是个滑动窗口。但是好像在洛谷上做过一道优化,不是直接统计窗口中的个数。思路虽然简单了,但是代码写起来还是有一定难度的。感觉自己写的代码质量很高呀!!!代码:class Solution {public: string minWindow(string s, string t) { int begin; int minn=1<<30; int left=0;原创 2020-11-04 20:52:46 · 147 阅读 · 0 评论 -
leetcode:12. 整数转罗马数字(中等,)
题目:分析:思路不错,一个函数用了3次,还是一道简单题。代码:class Solution {public: string f(char c1,char c2,char c3,int n) { string s=""; if(n==0) return s; if(n==9) { s+=c1;s+=c3;return s; } if(n==4) {原创 2020-10-21 18:37:25 · 95 阅读 · 0 评论 -
leetcode:6. Z 字形变换(字符串,中等)
题目:分析:一道很显然的找规律的题目。向下再向上为一次。 n+n-2找规律取余可以,直接模拟也是可以的。代码:class Solution {public: string convert(string s, int n) { vector<char> v; vector<vector<char> > vv(n,v); int c=0; while(1) {原创 2020-10-21 17:56:36 · 75 阅读 · 0 评论 -
leetcode:686. 重复叠加字符串匹配(中等,字符串,find的使用)
题目:分析:终于肯动脑了,分析的很棒。容易得出,如果有解,那么应该是拼接长度刚好大于目标长度,或者是拼接长度刚好大于目标长度+1.那么问题就转化为了寻找字符的算法,即数据结构上所学的kmp算法。当然stl的string有find函数。判断有没有找到,直接看下标是否在字符串长度内即可。代码:#include<bits/stdc++.h>using namespace std;int main(){ string a="abcd"; string b="cdabcdab"原创 2020-09-19 20:05:12 · 121 阅读 · 0 评论 -
洛谷:P3879 [TJOI2010]阅读理解(字典树)
题目:分析:本来用的map。结果内存不够,代码:#include<bits/stdc++.h>using namespace std;map<string,int> A[1005];int main(){ int m,n; cin>>m; for(int i=0;i<m;i++) { int c; cin>>c; for(int j=0;j<c;j++) { string s; cin>>s原创 2020-08-28 13:37:37 · 211 阅读 · 0 评论 -
leetcode:290. 单词规律(字符串)
题目:分析:使用python,:列表,集合,字典映射代码:class Solution: def wordPattern(self, p: str, s1: str) -> bool: str1=s1.split() if(len(str1)!=len(pattern)): ret...原创 2020-04-16 22:14:40 · 204 阅读 · 0 评论 -
leetcode:151. 翻转字符串里的单词(字符串)
题目:分析:库函数的疯狂使用代码:def reverseWords(self, s: str) -> str: if len(s)==0: return s; b=s.split() if len(b)==0: return ""; b.revers...原创 2020-04-10 10:31:43 · 89 阅读 · 0 评论 -
leetcode:3. 无重复字符的最长子串(双指针)
题目:分析:的确是双指针问题,借助个map就ok把。代码:#include<bits/stdc++.h> using namespace std;int main(){ string s; if(s.size()<=1) return s.size(); int len=1; map<char,int> m; m[s[0]]=1; int...原创 2020-03-18 00:00:16 · 185 阅读 · 0 评论 -
leetcode:816. 模糊坐标(字符串)
1.题目:2.分析:回溯3.代码:#include<bits/stdc++.h> using namespace std;vector<string> f(string s){ vector<string> vs; vs.push_back(s); if(s.length()==1) return vs; if(s[s.length()-...原创 2020-03-17 15:08:59 · 211 阅读 · 0 评论 -
leetcode:848. 字母移位(中等)
题目:代码:#include<bits/stdc++.h> using namespace std;int main(){ string s="ruu"; vector<int> n; n.push_back(26); n.push_back(9); n.push_back(17); n[s.size()-1]=n[s.size()-1]%26; ...原创 2020-03-17 10:10:03 · 147 阅读 · 0 评论 -
leetcode:890. 查找和替换模式(字符串)
题目:分析:map代码:#include<bits/stdc++.h> using namespace std;int main(){ vector<string> w; string p; vector<string> vs; for(int i=0;i<w.size();i++) { map<char,int>...原创 2020-03-16 23:36:00 · 183 阅读 · 0 评论 -
leetcode:856. 括号的分数(字符串)
题目:分析:回溯法没有用数据结构,仅仅是回溯。分为三种情况,每次回溯函数中设个总值,():则总值+1,仅(:则进入下一层回溯,):则返回。如果想的不好,则可能很复杂的。代码:string s;int i=0;int f(){ int n=0; while(i!=s.length()) { if(s[i]=='('&&s[i+1]==')') {...原创 2020-03-16 23:04:34 · 215 阅读 · 0 评论 -
leetcode:539. 最小时间差(字符串)
题目:分析:全家转化为分钟,+3600,两个放入。代码:int main(){ vector<string> t; vector<int> v; for(int i=0;i<t.size();i++) { int c1=atoi(t[i].substr(0,2).c_str()); int c2=atoi(t[i].substr(3,2)....原创 2020-03-13 11:26:46 · 264 阅读 · 0 评论 -
leetcode:809. 情感丰富的文字(字符串)
题目:分析:对每个字符串进行处理,pair,第一个放字符,第二个放个数。代码:vector<pair<char,int> > f(string s){ vector<pair<char,int> > vp; if(s.length()==0) return vp; int c=s[0]; int n=1; for(int i=...原创 2020-03-13 11:00:51 · 208 阅读 · 0 评论 -
leetcode:165. 比较版本号(字符串)
题目:分析:字符串需要稍作处理:代码:int main(){ string v1="0.1"; string v2="1.1"; int c1=0,c2=0; while(1) {//从c1 c2 开始 每次提取一个数字 string s1,s2; for(int i=c1;i<v1.size();c1++,i++) { if(v1[i]==...原创 2020-03-12 16:20:04 · 141 阅读 · 0 评论 -
leetcode:38. 外观数列(字符串)
题目:代码:#include<bits/stdc++.h> using namespace std;int main(){ int n; if(n==0) return ""; string s="1"; for(int i=2;i<=n;i++) { string ss; char c=s[0]; int n=1; for(int i=1;...原创 2020-03-12 14:32:28 · 162 阅读 · 0 评论 -
leetcode:14. 最长公共前缀(字符串)
题目:分析:两层循环代码:if(vs.size()==0) return ""; if(vs.size()==1) return vs[0]; sort(vs.begin(),vs.end()); string s=""; for(int i=0;i<vs[0].size();i++) { char c=vs[0][i]; int ok=0; for(int ...原创 2020-03-11 21:23:33 · 98 阅读 · 0 评论