一个二叉树的有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
---------------------------我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。我从来就没有太阳,所以不怕失去。
--------《白夜行》