头像

某位不愿透露姓名的金发小女孩




离线:1天前


最近来访(94)
用户头像
Youn
用户头像
hncsxzx
用户头像
bbqsjmr
用户头像
旧夏天OLdsummer
用户头像
QLW
用户头像
Dionysus.
用户头像
方攵飛夢想
用户头像
风竹斜街
用户头像
波波波波
用户头像
贾淏文
用户头像
GoldAir
用户头像
透明幽灵
用户头像
violet_garden
用户头像
no_one
用户头像
一条游泳的鱼
用户头像
_小镇做题家
用户头像
辣鸡号航母
用户头像
织葉
用户头像
冰之韵
用户头像
夜寐

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

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String[] strs=sc.nextLine().split(" ");
        for(int i=strs.length-1;i>-1;i--)
        {
            System.out.printf("%s ",strs[i]);
        }
    }
}


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

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        String[] strs=sc.nextLine().split(" ");
        String a=sc.next(),b=sc.next();
        for(String str:strs){
            if(str.equals(a))
                System.out.printf("%s ",b);
            else 
                System.out.printf("%s ",str);
        }
    }
}


活动打卡代码 LeetCode 1282. 用户分组

class Solution {
public:
    vector<vector<int>> groupThePeople(vector<int>& groupSizes) {
        vector<vector<int>> res;        
        unordered_map<int,vector<int>> h;
        for(int i=0;i<groupSizes.size();i++)
        {
            auto x=groupSizes[i];
            h[x].push_back(i);
            if(h[x].size()==x)
            {
                res.push_back(h[x]);
                h[x].clear();
            }
        }
        return res;
    }
};



class Solution {
public:
    bool checkIfExist(vector<int>& arr) {
        for(int i=0;i<arr.size();i++)
        {
            for(int j=0;j<arr.size();j++)
            {
                if(arr[i]*2==arr[j]&&i!=j) return true;
            }
        }
        return false;
    }
};


活动打卡代码 AcWing 4608. 整数分组

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>

using namespace std;

const int N = 110;

int n;
//开一个二位数组,p[x]表示集合内数字为x的对应的下标数组
vector<int> p[N];

int main()
{
    cin >> n;

    for (int i = 0; i < n; i ++ )
    {
        int x;
        cin >> x;
        //把数字为x的对应的所有下把i存下
        p[x].push_back(i);
    }

    int cnt = 0;//保存出现次数为1的数字个数
    for (int i = 0; i < N; i ++ )//si<100
        if (p[i].size() == 1)
            cnt ++ ;

    string res(n, 'A');
    for (int i = 0, k = 0; i < N; i ++ )
        if (p[i].size() == 1)
        {
            k ++ ;
            if (k <= cnt / 2) res[p[i][0]] = 'A';
            else res[p[i][0]] = 'B';
        }

    bool flag = true;
    if (cnt % 2)
    {
        flag = false;
        for (int i = 0; i < N; i ++ )
            if (p[i].size() > 2)
            {
                flag = true;
                res[p[i][0]] = 'A';
                for (int j = 1; j < p[i].size(); j ++ )
                    res[p[i][j]] = 'B';
                break;
            }
    }

    if (flag)
    {
        puts("YES");
        cout << res << endl;
    }
    else puts("NO");

    return 0;
}




活动打卡代码 AcWing 4607. 字母补全

#include<iostream>
#include<cstring>
#include<algorithm>
#include<unordered_set>
using namespace std;
const int N=50010;

int main()
{
    unordered_set<char> h;
    vector<char> s;

    string str;
    cin>>str;

    for(int i=25;i<str.size();i++)
    {
        h.clear();
        bool flag=true;
        for(int j=i-25;j<=i;j++)
        {
            //说明区间上有重复的元素,因为当前位置的元素不是?并且当前位置的元素已经出现过了,
            //说明这个元素必定是重复的
            if(str[j]!='?' && h.count(str[j]))
            {
                flag=false;
                break;
            }
            else 
            {
                h.insert(str[j]);
            }
        }
        //如果flag=true说明该区间上必定存在合理方案,把这个区间上的?替换掉之后
        //区间上的其他元素全部补上'A'就可以了
        if(flag)
        {
            s.clear();
            //遍历a-z的所有字母把没有出现过的字母加入到数组中
            for(char j='A';j<='Z';j++)
            {
                if(!h.count(j)) 
                {
                    s.push_back(j);
                }
            }
            //遍历区间上的元素将带有?的替换掉
            for(int j=i-25,k=0;j<=i;j++)
            {
                if(str[j]=='?')
                {
                    str[j]=s[k++];
                }
            }
            for(auto& c:str)
            {
                if(c=='?')
                    c='A';
            }
            cout<<str<<endl;
            return 0;
        }
    }
    puts("-1");
    return 0;
}


活动打卡代码 AcWing 4606. 奇偶判断

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
    string str;
    cin>>str;
    int t=str.back()-'0';
    if(t%2==0)
        cout<<0<<endl;
    else 
        cout<<1<<endl;
    return 0;
}


活动打卡代码 AcWing 872. 最大公约数

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=100010;

int gcb(int a,int b){
    return b?gcb(b,a%b):a;
}

int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int a,b;
        scanf("%d%d",&a,&b);
        cout<<gcb(a,b)<<endl;
    }
    return 0;
}


活动打卡代码 AcWing 869. 试除法求约数

#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>

using namespace std;
const int N=110;
int n;

int main()
{
    cin>>n;
    vector<int> st;
    while(n--){
        st.clear();//clear()消除元素不回收内存
        int a;
        scanf("%d",&a);
        for(int i=1;i<=a/i;i++)
        {
            if(a%i==0)
            {
                st.push_back(i);
                if(i!=a/i) st.push_back(a/i);
            }
        }
        sort(st.begin(),st.end());
        for(auto i=st.begin();i!=st.end();i++)
        {
            cout<<*i<<" ";
        }
        cout<<endl;
    }
    return  0;
}






活动打卡代码 AcWing 870. 约数个数

#include<iostream>
#include<cstring>
#include<algorithm>
#include<unordered_map>
using namespace std;
const int N=110,mod=1e9+7;

unordered_map<int,int> h;
typedef long long LL;
LL res=1;

int main(){
    int n;
    cin>>n;
    while(n--)
    {
        int x;
        scanf("%d",&x);
        for(int i=2;i<=x/i;i++)
        {
            while(x%i==0) 
            {
                x/=i;
                h[i]++;
            }
        }
        if(x>1) h[x]++;
    }

    for(auto  prime:h) res=res*(prime.second+1)%mod;
    cout<<res<<endl;
    return 0;
}