首页 > 代码库 > 拼多多 笔试记录
拼多多 笔试记录
一个二叉树的有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");
}
}
就是求最快构建数组的选项不是很难 但是有一个 时间复杂度我应该算错了 应该是 (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
拼多多 笔试记录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。