5.10快手笔试题解

第一题:输出汉字形式的数字。
方便测试写的比较乱,基本上就是个小模拟题。
#include <iostream>
#include<bits/stdc++.h>
using namespace std;
//kuaishou
//A


char Big[10]="WQBSL";
int Shu[10]={10000,1000,100,10,1};
int ans[10];

int main()
{
    int a=1;
    while(a--){
    string str="";
    memset(ans,0,sizeof ans);
    int A,AA;
    cin>>A;
    AA=A;
    bool First=true,OUT=true;
    for(int i=0;i<5;i++){
        ans[i]=AA/Shu[i];
        AA=AA%Shu[i];
    }
    for(int i=0;i<5;i++){
        if(ans[i]==0){
            if(First)
                continue;
            else {
                if(str[str.size()-1]!='L')
                    str+="L";
            }
        }else{
            OUT=false;
            First=false;
            str+=(ans[i]+'0');
            if(i<4)
            str+=Big[i];
        }
    }
    if(OUT)
        cout<<"L"<<endl;
    else {
        if(str.size()>1&&str[str.size()-1]=='L')
            str=str.substr(0,str.size()-1);
        cout<<str<<endl;
    }
    }
    return 0;
}
第二题:博弈取石头
假博弈,真找规律
//B

int main()
{

    int T;
    cin>>T;
    while(T--)
    {
        int N;
        cin>>N;
        if(N%3!=0)
        cout<<"lucky"<<endl;
        else cout<<"don't be discouraged"<<endl;
    }
    return 0;
}
第三题:放盒子
乱搞暴力
#include <iostream>
#include<bits/stdc++.h>
using namespace std;


//C

struct Box{
int A,K;
}box[100005];
bool cmp(Box a,Box b){
    return a.K<b.K;
}
int main()
{
    int T;
    cin>>T;
    while(T--){
        int N;
        cin>>N;
        for(int i=0;i<N;i++)
        {
            cin>>box[i].K>>box[i].A;
        }
        sort(box,box+N,cmp);
        long long P=box[N-1].K;
        for(int i=N-1;i>=0;i--){
            int x=sqrt(box[i].A*1.0)-1;
            while(x*x<box[i].A){
                x++;
            }
            int cnt=1;
            while((1<<cnt)<x){
                cnt++;
            }
            if(P<cnt+box[i].K){
                P=cnt+box[i].K;
            }
        }
        cout<<P<<endl;
    }
    return 0;
}
 基本上就是这样。题目很吓人,其实很水#春招##笔试题目##实习#
全部评论
又一次被自己菜哭。。。
点赞 回复
分享
发布于 2018-05-10 22:28
再一次被自己菜哭😢
点赞 回复
分享
发布于 2018-05-10 23:10
滴滴
校招火热招聘中
官网直投
又一次被自己菜哭。。。
点赞 回复
分享
发布于 2018-05-10 23:24
function t1(arr) {     if(arr.length === 1) return arr;     let Big = ['W', 'Q', 'B', 'S', ''];     let rel = [];     while(arr.length < 5){  //补满五位         arr.unshift('0');     }     for(let i = 0; i < arr.length; ++i){         if(arr[i] !== '0'){             rel = rel.concat([arr[i], Big[i]]);         }else if(rel.length > 0 && rel[rel.length-1] != 'L')// 首位不能为L,且不能有两个连续的L         {             rel = rel.concat('L');         }     }     return rel; } console.log(t1(['1', '2', '0', '0', '1']).join('')); console.log(t1(['1', '2', '0', '2', '1']).join('')); console.log(t1(['1', '0', '2', '0', '1']).join('')); console.log(t1(['2', '0', '1']).join('')); console.log(t1(['1']).join('')); console.log(t1(['0']).join(''));
点赞 回复
分享
发布于 2018-05-11 01:07
😭😭😭
点赞 回复
分享
发布于 2018-05-10 22:10
醉了醉了,看来又来打了次酱油
点赞 回复
分享
发布于 2018-05-10 23:39
OrzOrz觉得很水+1,我做的题目好像和lz不一样咧,算法岗第一题是组合数取模问题,第二题应该一样,第三题是一个数学题....楼主好强+1
点赞 回复
分享
发布于 2018-05-11 07:12
被自己菜哭,第一次笔试,一题都没AC。。。
点赞 回复
分享
发布于 2018-05-11 08:36
求问第二题,怎么想的?
点赞 回复
分享
发布于 2018-05-11 15:11

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务