头像

Tequila


访客:2113

离线:1个月前


活动打卡代码 AcWing 805. x和y的最大值

Tequila
1个月前
#include<iostream>
using namespace std;
int max(int x, int y){

    return x>y?x:y;
}

int main(){
    int x,y;
    cin >> x >> y;
    cout << max(x,y);

    return 0;
}


活动打卡代码 AcWing 804. n 的阶乘

Tequila
1个月前
#include<iostream>
using namespace std;

int foo(int n){
    if(n == 1)
        return 1;

    return n*foo(n-1);
}
int main(){
    int n ;
    cin >> n;
    cout << foo(n);
    return 0;

}



活动打卡代码 AcWing 786. 第k个数

Tequila
2个月前
#include<iostream>
using namespace std;
const int N = 100010;
int q[N];

    void quick_sort(int *q,int l , int r){
        int i =  l - 1 , j = r + 1 , mid = q[(l+r)/2];
        if(l >= r)
            return;
        while( i < j){
            do(j--);while(q[j] > mid);
            do(i++);while(q[i] < mid);

            if( i < j)
                swap(q[i],q[j]);
        }
            quick_sort(q,l,j);
            quick_sort(q,j+1,r);

    }

    int main(){
        int n ,k;
        cin >> n >>k;
        for(int i = 0 ; i < n;i++){
            scanf("%d",&q[i]);
        }
        quick_sort(q,0,n-1);
        cout << q[k-1];

        return 0;
    }



活动打卡代码 AcWing 785. 快速排序

Tequila
3个月前
#include<iostream>
using namespace std;
const int N = 1e+5;
int q[N];

void quick_sort(int *q,int l,int r)
{
    int i = l -1,j= r + 1,x = q[(l+r)/2];
    if(l>=r)
        return;
    while(i<j)
    {
        do(i++);while(q[i]<x);
        do(j--);while(q[j]>x);
        if(i<j)swap(q[i],q[j]);

    }
        quick_sort(q,l,j);
        quick_sort(q,j+1,r);


}


int main()
{
    int n;
    scanf("%d",&n);
    for(int i = 0;i < n;i++)
    {
        scanf("%d",&q[i]);
    }
    quick_sort(q,0,n-1);
    for(int i = 0 ;i < n ; i++)
    {
        printf("%d ",q[i]);
    }

    return 0;
}



Tequila
4个月前
#include<iostream>

using namespace std;

int main()
{
    string s1,s2;
    cin >> s1 >> s2;

    if(s1.size() < s2.size()) swap(s1,s2);
    for(int i = 0 ; i < s1.size(); i++)
    {   
        s1 = s1.substr(1) + s1[0];              // 去掉字符串第一位,ABCD;后加上字符串第一位,ABCDA
        for(int j = 0 ; j + s2.size() <= s1.size();j++)
        {                                       

            int k = 0 ;                         // [ B C D A A]  举例j+k所指位置和k所指位置,先移动长串后判断
                                                //   ^
                                                //  j+k
            for(; k < s2.size();k++)            // [ C D A A]   
            {                                   //   ^
                if(s1[j+k] != s2[k])            //   k
                    break;
            }

            if( k == s2.size())
            {
                cout << "true";
                return 0;
            }
        }
    }

    cout << "false";
    return 0;
}


活动打卡代码 AcWing 775. 倒排单词

Tequila
4个月前
#include<iostream>
#include<string>
using namespace std;

int main()
{
    string s[100];
    int  n = 0;
    while(cin >> s[n] ) n++;

    for( int i  = n -1 ; i >= 0 ; i--)
    {
        cout << s[i] << ' ';
    }

    return 0;

}


活动打卡代码 AcWing 774. 最长单词

Tequila
4个月前
#include<iostream>
#include<sstream>
#include<string>
using namespace std;

int main()
{
    string s,longstr;
    while(cin>>s)
    {
        if(s.back() == '.') s.pop_back();
        if(s.size() > longstr.size())
            longstr = s;
    }

    cout << longstr <<endl;

    return 0;

}



Tequila
4个月前
#include<iostream>
#include<string>

using namespace std;

int main()
{
    int n ;
    cin >> n;
    string s;


    while(n --)
    {
        cin>>s;
        int max = 0;
        char num ;
        for(int i = 0 ; i < s.size() ; i++)
        {
            int j = i;
            while(j < s.size() && s[i] == s[j])
                j++;
            if( j - i > max)
            {
                max = j - i;
                num  = s[i];
            }
            i = j - 1; //如果i指向j的话,循环++就会跳过当前j所指位置
        }

        cout << num << ' ' << max <<endl ;
    }




    return 0;

}


活动打卡代码 AcWing 770. 单词替换

Tequila
4个月前
#include<iostream>
#include<string>
#include<sstream>

using namespace std;

int main()
{   
    string s1,s2,s3;
    getline(cin,s1);
    cin >> s2 >> s3;

    stringstream ss(s1);

    while(ss>>s1)
        if(s1 == s2)
            cout << s3 << ' ';
        else 
            cout << s1 << ' ';


    return 0;
}



Tequila
4个月前
#include<iostream>
#include<string>

using namespace std;

int main()
{
    string s;
    getline(cin,s);
    int len = s.size();
    char ans[len]; //开一个额外数组存题目所需要的字符
    int j = 0;
    for(int i  = 0 ; i+1   <= len ; i ++)
    {
        if((s[i] == ' ' && s[i+1] != ' ') || (s[i] != ' ')) //符合条件 存入数组中
            ans[j++] = s[i]; 

    }

    for(int k = 0; k < j; k++) 
    {
        cout << ans[k];
    }
    return 0;
}
}