64,081
社区成员
发帖
与我相关
我的任务
分享
第一题:替换空格
就很简单的思路,不用想那么复杂
class Solution {
public:
string replaceSpace(string s) {
string res;
for(int i=0; i<s.size(); i++) {
if(s[i] == ' ') {
res += "%20";
}else res += s[i];
}
return res;
}
};
第二题:稀疏数组搜索
思路:排好序的数组,直接用二分法就行了
class Solution {
public:
int findString(vector<string>& words, string s) {
int left = 0, right = words.size()-1;
while(left <= right) {
int mid = left + (right-left)/2;
while(mid > left && words[mid] == "") mid--;
if(words[mid] == s) {
return mid;
}else if(words[mid] < s) {
left = mid + 1;
}else right = mid - 1;
}
return -1;
}
};
第五题:作为子字符串出现在单词中的字符串数目
思路:使用增强for循环和 find函数,很快解决
class Solution {
public:
int numOfStrings(vector<string>& patterns, string word) {
int cnt = 0;
for(const string &p : patterns) {
if(word.find(p) != -1) cnt++;
}
return cnt;
}
};
满课的娃写几道简单题先溜了,已经在饿死的边缘徘徊了
赞
大佬
太棒了
赞
大佬