[解题帖] 《算法零基础100讲》(第22讲) 字符串算法(二) - 字符串比较

0泡果奶 2021-11-11 20:50:25
加精

第一题:替换空格
就很简单的思路,不用想那么复杂

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;
    }
};

满课的娃写几道简单题先溜了,已经在饿死的边缘徘徊了

...全文
84 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
小笼包95 2021-12-08
  • 打赏
  • 举报
回复

兴磊 2021-11-12
  • 打赏
  • 举报
回复

大佬

  • 打赏
  • 举报
回复

太棒了

  • 打赏
  • 举报
回复

少年不褪色 2021-11-11
  • 打赏
  • 举报
回复

大佬

友人苏 初级 2021-11-11
  • 打赏
  • 举报
回复 2

太赞了

0泡果奶 2021-11-11
  • 举报
回复
@友人苏 共勉,哈哈

64,081

社区成员

发帖
与我相关
我的任务
社区描述
学习「 算法 」的捷径就是 「 题海战略 」,社区由「 夜深人静写算法 」作者创建,三年ACM经验,校集训队队长,亚洲区域赛金牌,世界总决赛选手。社区提供系统的训练,答疑解惑,面试经验,大厂内推等机会
社区管理员
  • 英雄哪里出来
  • 芝麻粒儿
  • Amy卜bo皮
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

QQ群:480072171

英雄算法交流 8 群

 

试试用AI创作助手写篇文章吧