爱喝奶茶的安德鲁寄了 level
获赞
45
粉丝
13
关注
9
看过 TA
531
南京工业大学
2026
C++
IP属地:江苏
暂未填写个人简介
私信
关注
小红的01串 坏串“010” “101”  每次可以翻转1位,求坏串变成好串需要的最少翻转次数#include <iostream>#include <string>using namespace std;bool isTrue(string& s, int& err) {    for (unsigned long i = 0; i < s.size() ; i++) {        if (s[i] == '0') {            if (s.substr(i, 3) == "010") {                err = i;                return false;            }        }        if (s[i] == '1') {            if (s.substr(i, 3) == "101") {                err = i;                return false;            }        }    }    return true;}int reverse(string& s, int& err, int& count) {    if (isTrue(s, err)) {        return 0;    }    int idx = err+1;    if (s[err] == '1') {        s[idx] = '1';    } else {        s[idx+1] = '1';    }    count++;    // cout <<"reverse:" <<s<<endl;    reverse(s, err, count);    return 0;}int main() {    int a;    cin >> a;    string s = to_string(a);    int err = 0, count = 0;    reverse(s, err, count);    cout<<count;}// 64 位输出请用 printf("%lld")
投递游酷盛世(北京)有限公司等公司7个岗位
0 点赞 评论 收藏
分享
// 小美的文本文件#include <algorithm>#include <iostream>#include <iterator>#include <stack>#include <string>using namespace std;string decode(string& s){    string t;    stack<char> stack;    for(char c:s){        if(c == 'R'){            reverse(t.begin(), t.end());            stack.push('R');        }else if(c == 'Z'){            if(!stack.empty()){                char last = stack.top();                stack.pop();                if(last == 'R'){                    reverse(t.begin(),t.end());                }else {                    if(!t.empty()){                        t.pop_back();                    }                }            }        }else {            t.push_back(c);            stack.push(c);        }    }    return t;}int main() {    int n;    cin >> n;    cin.ignore();    while (n--) {         string s;        getline(cin, s);        cout<<decode(s)<<endl;    }}// 小红的函数计算#include <iostream>using namespace std;int func(int i, int j){    if(i % j == 0 && i / j != 0){        return 1;    }    return 0;}long sumfuc(int i, int l2, int r2){    int count = 0;    for(int j = 1; j*j <= i; j++){        if(i % j ==0){            if(j > l2 && j <= r2) count++;            if(j != i/j && (i/j) >= l2 && (i/j) <= r2) count++;        }    }    return count;}int main() {    int l1, r1, l2, r2;    cin >> l1 >> r1 >> l2 >> r2;    int sum = 0;    // for (int i = l1; i <= r1; i++){    //     for (int j = l2; j <= r2; j++){    //         sum += func(i,j);    //     }    // }    for (int i = l1; i <= r1; i++){        sum += sumfuc(i, l2, r2);    }    cout << sum;}
投递美团等公司7个岗位
0 点赞 评论 收藏
分享
作业帮笔试算法题:1、解析url#include <iostream>#include<map>#include<sstream>#include <string>using namespace std;map<string, string> parseUri(string uri) {    map<string, string> m;    int start = uri.find("?");    string quary = uri.substr(start + 1);    stringstream ss(quary);    string pair;    while (getline(ss,pair,'&')) {        int equalSign = pair.find('=');        if (equalSign != string::npos){            string key = pair.substr(0, equalSign);            string val = pair.substr(equalSign+1);            m[key] = val;        }    }    return m;}int main() {    string uri, key;    cin >> uri >> key;    map<string, string> m;    m = parseUri(uri);    cout << m[key]<<endl;    return 0;}2、数组三个数最大乘积排序、max(最大三个数相乘,最小两个数相乘再乘最大的数)3、小红的彩带
查看2道真题和解析 投递作业帮等公司7个岗位
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务