码迷,mamicode.com
首页 > 其他好文 > 详细

拼多多 笔试记录

时间:2016-10-10 01:58:38      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:

 一个二叉树的有2016个节点  最多有几个拥有两个子节点的
应该是1007  我擦写错了
第二个求一个直线段的长度  不知道对错 没有参考意义
第三个是输出旋转数组  源码

#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n,i,T=1,j;
cout<<"请输入一个n"<<endl;
cin>>n;
int a[100][100]={0};
int n1 = 0,n2 = 0;
int q = 1;
for(i = 1;i<=n*n;i++){
//右
if(T == 1){
a[n1][n2] = i;
n2++;
if(n2>(n-q)){
T = 2;
n2--;
}
}
if(T == 2){
a[n1][n2] = i;
n1++;
if(n1 >(n-q)){
T = 3;
n1--;
}
}
if(T == 3){
a[n1][n2] = i;
n2--;
if(n2 < q - 1){
T = 4;
n2++;
}
}
if(T == 4){
a[n1][n2] = i;
n1--;
if(n1 < q ){
T = 1;
q++;
n1++;
n2++;
}
}
}
for(i = 0;i<n;i++){
for(j = 0;j<n;j++){
printf("%d\t",a[i][j]);
}
printf("\n");
}
}

第四个就是  a1>=a2   a(n-1)<=a(n)
就是求最快构建数组的选项不是很难  但是有一个  时间复杂度我应该算错了  应该是  (n-2)/2
第五个是  有等长的a数组  和b数组
如果a数组中有两个方法变为b数组
1.a中的某些元素+1  算做一步
2.a中的某些元素*2  算作一部
比较简单  先贪心算一下  a(n)*2  的最多次数  即步数
然后  在算a(n)中与bn的最大插值  即步数  两个相加即可  如果刚开始先审查元素  a[i]如果比b[i]大的话 就直接返回  -1  退出
第6个就是考察  linux
ctrl  +c  是什么  取消  长时间运算  厉害了我的哥 这个我还是知道的  
但是有问 如何  取消  ctrl +c 的影响  我答:不晓得~~  这个真不知道 不对linux研究比较深的话 很GG
 

拼多多 笔试记录

标签:

原文地址:http://www.cnblogs.com/eat-too-much/p/5944330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!