2017牛客网全国统一模拟笔试5月场之坑

来源:互联网 发布:sql中查询的功能节点 编辑:程序博客网 时间:2024/04/28 21:42

说说下遇到选择题的坑:

坑一:

解析

8*6的矩阵,从左下角A到右上角B,一共需要走12步,其中5步向上,7步向右,因此总的走法一共有C(12,5)=792种,但题目规定不能经过P,

因此需要减去经过P点的走法。 经过P的路径分为两部分,从A到P,从P到B。 同理,从A到P的走法:C(6,2)=15; 同理,从P到B的走法:C(6,3)=20;

因此从A到B经过P点的走法有15*20=300种, 所以从A到B不经过P点的走法有792-300=492种。

程序代码:

链接:https://www.nowcoder.com/questionTerminal/11531bf1ea1a420abdc6640d23fd13c2来源:牛客网#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<cmath>using namespace std; int g[6][8];bool vis[6][8];int ans;int dir[2][2]={{-1,0},{0,1}}; void dfs(int x,int y){    if(x==0&&y==7){        ans++;        return;    }    vis[x][y]=true;    for(int i=0;i<2;i++){        int xx=x+dir[i][0];        int yy=y+dir[i][1];        if(xx>=0&&xx<6&&yy>=0&&yy<8&&!vis[xx][yy]&&!g[xx][yy]){            dfs(xx,yy);        }    }    vis[x][y]=false;} int main(){    memset(g,0,sizeof(g));    memset(vis,false,sizeof(vis));    g[3][4]=1;    ans=0;    dfs(5,0);    cout<<ans<<endl;    return 0;}

坑二:

解析:AB之间是1种;

   选法CDEF四个中选1个有4种选法;CDEF四个中选1个,三个中再选一个有4*3=12种选法;CDEF四个中选1个,三个中再选一个,两个中再选一个有4*3*2=24种

   选法;CDEF四个中选1个,三个中再选一个,两个中再选一个,一个中再选一个有4*3*2*1=24种选法;

   故总选法为1+4+12+24+24=65


坑三:

解析

坑四:LRU算法(操作系统虚拟也存储,暂时还没学到) 缓存淘汰算法--LRU算法


五:

解析


六:

解析


从上图可以看出,Linux内核在启动过程中,创建一个名为Kthreadd的内核进程,PID=2,用于创建内核空间的其他进程;

同时创建第一个用户空间Init进程,该进程PID = 1,用于启动一些本地进程,比如Zygote进程,而Zygote进程也是一个专

门用于孵化Java进程的本地进程,上图清晰地描述了整个Android系统的进程模型


坑七:KMP算法是一种改进的字符串匹配算法(笔者之前之了解过Horspool,所以也就GG了)


坑八:(读者在这里只想说,我不是一个合格的Android攻城狮)

Android获取手机屏幕宽度和高度的方法

DisplayMetrics metric = new DisplayMetrics();   getWindowManager().getDefaultDisplay().getMetrics(metric);   int width = metric.widthPixels;     // 屏幕宽度(像素)   int height = metric.heightPixels;   // 屏幕高度(像素)   float density = metric.density;      // 屏幕密度(0.75 / 1.0 / 1.5)   int densityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)

坑九:Android默认字体单位是什么?sp

最后得到的教训是多刷下牛客网的题

附上2017年校招全国统一模拟笔试(第三场)编程题集合链接




阅读全文
0 0
原创粉丝点击