当前位置: 首页 > news >正文

哪个网站简历做的好淘大象排名查询

哪个网站简历做的好,淘大象排名查询,权威网站,包装设计是什么个人认为有趣的题的总结,希望对大家有帮助。 原文地址:http://blog.csdn.net/callon_h/article/details/52430312 1. 蛇形矩阵 题目大意:给一个边长n,给出1-n^2的数字蛇形数据,如下 n3 output: 1 2 3 8 9 4 7 6 5 …

个人认为有趣的题的总结,希望对大家有帮助。

原文地址:http://blog.csdn.net/callon_h/article/details/52430312

1. 蛇形矩阵

题目大意:给一个边长n,给出1-n^2的数字蛇形数据,如下 

n=3 

output:

1 2 3 

8 9 4 

7 6 5

此题后来发现在另一篇博文中

http://blog.csdn.net/z_x_b5/article/details/51056536?locationNum=1

也有记录,思想接近,不过用的方法不尽相同吧,大家参考参考即可:

[cpp] view plain copy
  1. #include <stdio.h>  
  2.   
  3.   
  4. int Ori_width,New_width;  
  5.   
  6.   
  7.   
  8. void resort(int *temp, int *temp1){  
  9.     int i,j;  
  10.       
  11.     if(New_width == 1 || New_width == 0){  
  12.         if(New_width == 0)  
  13.             return;  
  14.         *temp1 = Ori_width*Ori_width;  
  15.         return;  
  16.     }  
  17.     else  
  18.     {   //right  
  19.         for(i=0;i<New_width;i++)  
  20.             *(temp1+i)=*(temp+i);  
  21.                   
  22.         //down   
  23.         for(i=0;i<New_width-1;i++)  
  24.             *(temp1+New_width-1+(i+1)*Ori_width)=*(temp+New_width+i);  
  25.                   
  26.               
  27.         //left  
  28.         for(i=0;i<New_width-1;i++)  
  29.             *(temp1+Ori_width*(New_width-1)+New_width-2-i)=*(temp+2*New_width-1+i);  
  30.           
  31.         //up  
  32.         for(i=0;i<New_width-2;i++)  
  33.             *(temp1+(New_width-2-i)*Ori_width)=*(temp+3*New_width-2+i);  
  34.   
  35.         New_width -= 2;  
  36.         resort(temp+4*(New_width+1),temp1+Ori_width+1);   
  37.           
  38.     }  
  39.           
  40. }  
  41.   
  42. int main()  
  43. {  
  44.       
  45.     int i,j;  
  46.     printf("hello world!\n");  
  47.     while(1){  
  48.         printf("****************\n");  
  49.         printf("****************\n");  
  50.         printf("Please input your width of matrix: ");  
  51.           
  52.         scanf("%d",&Ori_width);   
  53.         New_width = Ori_width;  
  54.         printf("width is %d\n",Ori_width);  
  55.         do{  
  56.             int Ori_matrix[Ori_width][Ori_width],Sorted_matrix[Ori_width][Ori_width];  
  57.               
  58.             for(i=1;i<=Ori_width;i++){  
  59.                 for(j=1;j<=Ori_width;j++){  
  60.                     Ori_matrix[i-1][j-1] = (i-1)*Ori_width + j;  
  61.                     Sorted_matrix[i-1][j-1] = Ori_matrix[i-1][j-1];   
  62.                 }  
  63.             }   
  64.   
  65.             resort(*Ori_matrix,Sorted_matrix[0]);  
  66.             for(i=1;i<=Ori_width;i++){  
  67.                 for(j=1;j<=Ori_width;j++){  
  68.                     printf("%d ",Sorted_matrix[i-1][j-1]);  
  69.                 }  
  70.                 printf("\n");  
  71.             }  
  72.             printf("\n");  
  73.         }while(0);  
  74.     }  
  75.       
  76.     return 0;  
  77. }  
运行结果:


2. 
java知识考察

在腾讯的2016.9.1模拟考中的选择题

有如下代码:

[java] view plain copy
  1. public static void main(String[] args){  
  2.     Integer i1=127,i2=127,i3=128,i4=128;  
  3.     System.out.println(i1==i2);  
  4.     System.out.println(i1.equals(i2));  
  5.     System.out.println(i3==i4);  
  6.     System.out.println(i3.equals(i4));  
  7. }  
请问代码最终输出情况:

如果java掌握不牢固,这道题也很难答,乍一看两个==和两个equals至少是两个true或者两个false或者全true全false吧?

但是,判断结果该是:true true false true

理由:==总在基本数据类型时比较的是两个数据值是否相同(.equals在object类中比较的是地址,但是子类一般都会重写它,在基本数据类型中表示的是值的大小是否一样),如果用在引用类型时比较的是地址是否相同,也就是比较两个对象的引用是否相同,为了节省内存,java设计了基本数据类型包装类的缓存,JVM会自动维护8种基本类型的缓存/常量池,大概意思是程序启动时,这些数值已经放在缓存池中,你new 一个Integer对象,它首先去缓存去查,如果有的话,直接将新new出的对象引用指向缓存池中的对象,Integer缓存的范围是[-128,127],超出范围就需要重新在堆内存中new了。所以当为i=127赋值时,在自动装箱过程中是取自常量池/缓存池中的数值,而当i=128时,128不在常量池范围内,所以在自动装箱过程中需要new128,所以地址不一样。


3.数据库知识

在RR2016.9.5笔试题中

数据库系统中,产生数据不一致的根本原因是:数据冗余

理由:首先,数据不一致性是指数据的矛盾性、不相容性。
产生数据不一致的原因主要有以下三种:一是由于数据冗余造成的;二是由于并发控制不当造成的;三是由于各种故障、错误造成的。但根本原因是:数据冗余


4.二叉树遍历

在RR2016.9.5笔试题中

已知前序遍历aebdc,后序遍历bcdea,根节点下的子节点有?

只有e

理由:首先了解什么是前序、中序和后序遍历,总的来说就是NLR、LNR和LRN。L为访问左结点,R为访问右结点,N为访问本结点。知道这个之后来看这个问题:根据前序或后续序列,可以确定a必定有一个子结点e,假设e为左孩子,a右孩子不为空,则后续遍历序列中与a相邻的应该为a的右孩子。同理,假设e为右孩子,a的左孩子不为空,则先序遍历时与a相邻的为a的左孩子。故a有且只有e这一个孩子,左右无法确定

同样是RR2016.9.5笔试

已知前序遍历aebdc,中序遍历becda,后序遍历:______________。

bcdea

理由:有时候遍历会迷糊,但是掌握程序的本质写法是递归之后,也就不会迷惑了。


5.IP知识

在RR2016.9.5笔试题中

某主机的IP地址为202.117.131.12/20,其子网掩码是多少?

255.255.240.0

理由:默认子网掩码是255.255.255.0,但是最后的/20限定了前面只能有20个1,那么255是8位,所以至少有2个255,最后四个1应该是128+64+32+16=240,最后得到255.255.240.0。

同样是RR2016.9.5笔试

IP地址159.226.181.1是____A类?B类?C类?D类?IP地址。

B类

理由:A类IP地址范围:1.0.0.1 - 126.255.255.254。B类:128.1.0.1 - 191.255.255.254。C类: 192.0.1.1 - 123.255.255.254。


6.指针数组

还是RR2016.9.5的笔试题,这个比较简单,

求一个程序的输出:

[cpp] view plain copy
  1. int a[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};  
  2. int (*ptr)[3];  
  3. ptr = (int (*)[3])a;  
  4. printf("result is %d\n",a[3][1] - ptr[3][1]);  
答案是: 3

理由:在ptr看来是这样的:

1 2 3

4 5 6

7 8 9

10 11 12

...

14-11=3


7.进程死锁

在某银行2016.9.6笔试题中

若系统中有5个进程共享若干个资源R,每个进程都需要4个资源R,那么使系统不发生死锁的资源R的最少数目是_______。

16

理由:假设系统为每个进程各分配了3个R,此时只需要再有1个R就能保证有一个进程可以运行,进程运行完毕后释放占有的所有资源,其他进程又可以运行,直到所有进程运行完毕。


8.可能出栈顺序

某银行2016.9.6笔试题中(其他也考过)

若进栈序列为e1,e2,e3,e4,那么可能的出栈顺序_____。

一般为选择题,此时只介绍方法,如果先出来的是e3,那么证明e2,e1早就压栈了,后面肯定不能接e1,因为e1在e2下面,如此逻辑推理即可。


9.简单练习——C调序

在新美大的网上测试中,

输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分,要求时间复杂度为O(n)。

输入包含一行,为逗号隔开的一个或者多个整数,取值范围为[1,100]。如:

1,2,3,4

输出包含一行,同样为逗号隔开的一个或者多个整数。如:

1,3,2,4

[cpp] view plain copy
  1. #include <stdio.h>  
  2.   
  3. #define MAX_LEN 1000  
  4.   
  5. int main()  
  6. {  
  7.     char end;  
  8.     int arr[MAX_LEN];  
  9.     int temp=0,i =0,j=0,k=0;  
  10.     do{  
  11.         scanf("%d",&arr[i++]);  
  12.         if(arr[i-1]>100)  
  13.             arr[i-1]=100;  
  14.         else if(arr[i-1]<1)  
  15.             arr[i-1] = 1;  
  16.     }while((end = getchar())!='\n');  
  17.       
  18.     while(1)  
  19.     {  
  20.         for(j=0;j<i;j++)  
  21.         {  
  22.             if(arr[j]%2==0)  
  23.                 break;  
  24.         }  
  25.           
  26.         for(k=i-1;k>0;k--)  
  27.         {  
  28.             if(arr[k]%2==1)  
  29.                 break;    
  30.         }  
  31.         if(j<k)  
  32.         {  
  33.             temp=arr[j];  
  34.             arr[j]=arr[k];  
  35.             arr[k]=temp;  
  36.         }  
  37.         else  
  38.         {  
  39.             break;  
  40.         }  
  41.     }         
  42.     for(j=0;j<i;j++)  
  43.         if(j!=(i-1))  
  44.             printf("%d,",arr[j]);  
  45.         else  
  46.             printf("%d\n",arr[j]);  
  47.     return 0;  
  48. }  

运行结果:



10.简单练习——二维卷积

同样在新美大的网上测试中,

题目太长,原谅我就打要求吧:

要求输入矩阵A[m*n],卷积核h[k*k],m>k且n>k;输出卷积后矩阵。

输入包括三行:

第一行为三个正整数,空格隔开,分别为k,m,n,取值范围为[1,100];

第二行为m*n个正整数,空格隔开,为输入矩阵A的各元素值,取值范围为[1,100];

第三行为k*k个正整数,空格隔开,为卷积核矩阵h的各元素值,取值范围为[1,100]。

如:

2 3 3

1 2 1 0 2 2 2 1 1

-1 1 1 -1

输出包括一行,按顺序输出矩阵B每行的元素值,空格隔开,如:

-1 -1 3 0

[cpp] view plain copy
  1. #include <stdio.h>  
  2.   
  3. #define MAX_LEN 1000  
  4.   
  5. int main()  
  6. {  
  7.     int temp[3];  
  8.     int k,m,n;  
  9.     int i,j,row,col;  
  10.     for(i=0;i<3;i++){  
  11.         scanf("%d",&temp[i]);  
  12.         if(temp[i]>100)  
  13.             temp[i] = 100;  
  14.         else if(temp[i]<1)  
  15.             temp[i] = 1;  
  16.     }  
  17.     k=temp[0];  
  18.     m=temp[1];  
  19.     n=temp[2];  
  20.     //:can delete     
  21.     if(m<=k)  
  22.         m=k+1;  
  23.     if(n<=k)  
  24.         n=k+1;  
  25.     //:~      
  26.     do{  
  27.         int A[m][n];//input  
  28.         int h[k][k],t[k][k];  
  29.         int B[m-k+1][n-k+1];//output  
  30.           
  31.         for(row=0;row<(m-k+1);row++)  
  32.             for(col=0;col<(n-k+1);col++)  
  33.                 B[row][col] = 0;  
  34.           
  35.         for(i=0;i<m;i++){  
  36.             for(j=0;j<n;j++){  
  37.                 scanf("%d",&A[i][j]);  
  38.                 if(A[i][j]>100)  
  39.                     A[i][j] = 100;  
  40.                 else if(A[i][j]<-100)  
  41.                     A[i][j]=-100;  
  42.             }  
  43.         }         
  44.           
  45.         for(i=0;i<k;i++){  
  46.             for(j=0;j<k;j++){  
  47.                 scanf("%d",&h[i][j]);  
  48.                 if(h[i][j]>100)  
  49.                     h[i][j] = 100;  
  50.                 else if(h[i][j]<-100)  
  51.                     h[i][j]=-100;  
  52.             }  
  53.         }                     
  54.           
  55.         for(row=0;row<(m-k+1);row++){  
  56.             for(col=0;col<(n-k+1);col++){  
  57.                 for(i=0;i<k;i++)  
  58.                     for(j=0;j<k;j++)  
  59.                         t[i][j] = A[i+row][j+col]*h[i][j];  
  60.                 for(i=0;i<k;i++)  
  61.                     for(j=0;j<k;j++)  
  62.                         B[row][col] += t[i][j];  
  63.             }  
  64.         }  
  65.         for(row=0;row<(m-k+1);row++)  
  66.             for(col=0;col<(n-k+1);col++)  
  67.                 printf("%d ",B[row][col]);  
  68.         printf("\n");  
  69.     }while(0);  
  70.       
  71.     return 0;  
  72. }  
输出:



11.初级算法

目前没有直接考的,但是有些题是它的变种——硬币找零。

在某个找零机器内存有n个值为V1,V2,V3,...的硬币,当有人拿出值为T的钱需要找零时,求问找零的硬币最少需要多少?由哪些硬币组成?

[cpp] view plain copy
  1. #include <stdio.h>  
  2.   
  3. #define MAX_TYPE 100   
  4.   
  5. #define PRINT  
  6. //Just review shellsort, not necessary.   
  7. void shellsort(int *arr,int size)  
  8. {  
  9.     int h=1,i=0;  
  10.     while(h<size)  
  11.     {  
  12.         h=3*h+1;      
  13.     }  
  14.     h=(h-1)/3;  
  15.     while(h>0)  
  16.     {  
  17.         for(i=0;(i+h)<size;i++)  
  18.         {  
  19.             if(arr[i+h]>arr[i])  
  20.             {  
  21.                 int temp = arr[i+h];  
  22.                 arr[i+h] = arr[i];  
  23.                 arr[i] = temp;  
  24.             }     
  25.         }  
  26.         h=(h-1)/3;  
  27.     }  
  28. }  
  29.   
  30. void makeChange(int *moneytype,int typenum,int money,int *coin)  
  31. {  
  32.     int i,k,min;  
  33.     #ifdef PRINT  
  34.     int j,n,flag;  
  35.     int arr[money+1][money+1];  
  36.     arr[0][0] = 0;  
  37.     flag = 0;  
  38.     #endif  
  39.     coin[0] = 0;  
  40.     for(i=1;i<money+1;i++)  
  41.     {  
  42.         min = i;  
  43.         for(k=0;k<typenum;k++)  
  44.         {  
  45.             if(moneytype[k] <= i)  
  46.             {  
  47.                 int temp = coin[i-moneytype[k]]+1;  
  48.                 if(temp < min)  
  49.                 {  
  50.                     min = temp;   
  51.                     #ifdef PRINT  
  52.                     flag = 1;  
  53.                     j = k;  
  54.                     #endif  
  55.                 }     
  56.             }     
  57.         }  
  58.         coin[i] = min;  
  59.         #ifdef PRINT  
  60.         if(flag == 1)  
  61.         {  
  62.             for(n=0;arr[i-moneytype[j]][n]!=0;n++)  
  63.                 arr[i][n] = arr[i-moneytype[j]][n];  
  64.             arr[i][n] = moneytype[j];  
  65.             arr[i][n+1] = 0;  
  66.             flag = 0;     
  67.         }  
  68.         if(coin[i] == i)  
  69.         {  
  70.             for(n=0;n<i;n++)  
  71.                 arr[i][n] = 1;  
  72.             arr[i][i] = 0;  
  73.         }  
  74.         #endif  
  75.     }  
  76.     printf("如果我们要找%d的钱,我们最少需要使用%d个币\n",money,coin[money]);   
  77.     #ifdef PRINT  
  78.     printf("需要零的钱为:");  
  79.     for(n=0;n<coin[money];n++)  
  80.         printf("%d ",arr[money][n]);  
  81.     printf("\n");  
  82.     #endif  
  83. }  
  84.   
  85. int main()  
  86. {  
  87.     char end;  
  88.     int changeType[MAX_TYPE],TotalMoney;  
  89.     int i=0,j=0;  
  90.     printf("有哪几种硬币(不超过100种):");  
  91.     do{  
  92.         scanf("%d",&changeType[i++]);  
  93.     }while((end=getchar())!='\n');   
  94.       
  95.     printf("Now Machine has ");  
  96.     //shellsort(changeType,i);  
  97.     for(j=0;j<i;j++)  
  98.     {  
  99.         printf("%d ",changeType[j]);      
  100.     }   
  101.     printf(",%d types of money\n",i);  
  102.        
  103.     while(1)  
  104.     {  
  105.         printf("输入总钱数,我会帮你找到最佳找零方法:");  
  106.         scanf("%d",&TotalMoney);  
  107.         do{  
  108.             int MinCoins[TotalMoney+1];  
  109.             makeChange(changeType,i,TotalMoney,MinCoins);  
  110.         }while(0);  
  111.     }  
  112.     return 0;  
  113. }  



12.链表操作

没有完全考到这部分的,但是相关的还是不少。

以Linux内核链表为例复习。

[cpp] view plain copy
  1. #include <stdio.h>  
  2.   
  3. struct list_head{  
  4.     struct list_head *next,*prev;  
  5. };  
  6.   
  7. struct score{  
  8.     int No;  
  9.     int english;  
  10.     int chinese;  
  11.     int math;  
  12.     struct list_head list;  
  13. };  
  14.   
  15. struct list_head header;  
  16. struct score stu1,stu2,stu3;  
  17. struct list_head *slider;  
  18. struct score *tmp;  
  19.   
  20. void Init_List_Head(struct list_head *head)  
  21. {  
  22.     head->next = head;  
  23.     head->prev = head;  
  24. }  
  25.   
  26. void __list_add(struct list_head *nw, struct list_head *prev, struct list_head *next)  
  27. {  
  28.     next->prev = nw;  
  29.     nw->next = next;  
  30.     nw->prev = prev;  
  31.     prev->next = nw;  
  32. }  
  33.   
  34. void list_add_tail(struct list_head *nw, struct list_head *head)  
  35. {  
  36.     __list_add(nw,head->prev,head);  
  37. }  
  38.   
  39. void list_add_top(struct list_head *nw, struct list_head *head)  
  40. {  
  41.     __list_add(nw,head,head->next);  
  42. }  
  43.   
  44. int main()  
  45. {  
  46.     Init_List_Head(&header);  
  47.     stu1.No = 1;  
  48.     stu1.chinese = 89;  
  49.     stu1.english = 90;  
  50.     stu1.math = 98;  
  51.     list_add_tail(&stu1.list,&header);  
  52.     stu2.No = 2;  
  53.     stu2.chinese = 12;  
  54.     stu2.english = 13;  
  55.     stu2.math = 14;  
  56.     list_add_top(&stu2.list,&header);  
  57.     stu3.No = 3;  
  58.     stu3.chinese = 69;  
  59.     stu3.english = 80;  
  60.     stu3.math = 74;  
  61.     list_add_tail(&stu3.list,&header);  
  62.       
  63.     for(slider=header.next;slider!=&header;slider=slider->next){  
  64.         const typeof(((struct score *)0)->list) *__mptr = slider;  
  65.         tmp = (struct score *)((char *)__mptr - (unsigned int)&(((struct score*)0)->list));  
  66.         printf("No is %d,english is %d,math is%d\n",tmp->No,tmp->english,tmp->math);  
  67.     }  
  68.       
  69.     return 0;  
  70. }  
http://www.lbrq.cn/news/2797003.html

相关文章:

  • 网店托管公司seo网络营销
  • 关键词排名优化提升培训百度竞价优化
  • 汉化主题做网站效果图强力搜索引擎
  • 事业单位网站建设方案关键词提取工具
  • 做知乎网站的图片东莞seo整站优化火速
  • 商城网站建设合同烟台seo网络推广
  • 广西网站建设介绍百度seo通科
  • 网站建设自己怎么做最强大的搜索引擎
  • 四川建设厅官方网站查询网站推广优化外包公司哪家好
  • 网站世界排名怎么做谁有恶意点击软件
  • 做外贸哪些b2b网站比较有效重庆seo技术教程博客
  • 做网站编辑好还是美工好网上卖产品怎么推广
  • 做的好的奥运会网站seo免费资源大全
  • 大连市城乡建设局网站付费推广
  • 闵行18路seo属于什么职位类型
  • 做服装设计兼职的网站深圳百度网站排名优化
  • 白云建设网站微信营销技巧
  • 国外设计网站 绿色的北京企业网站推广哪家公司好
  • 常熟高端网站建设搜索引擎推广步骤
  • 微网站如何做推广淘宝app官方下载
  • 欧美风格企业网站人工智能培训班收费标准
  • 网站建设软文谷歌推广开户多少费用
  • 做封面的免费网站品牌公关
  • 网站建设方案评标原则网络推广专员岗位职责
  • 做游戏制作 网站产品关键词怎么找
  • 高端品牌网站建设定位不需要验证码的广告平台
  • 网站基础建设和维护网店推广方法有哪些
  • 网站设计哪家最好微信朋友圈广告怎么推广
  • 网站备案每年一次吗seo是搜索引擎优化吗
  • 正定网站建设制作公司泽成杭州seo网站推广排名
  • selenium一些进阶方法如何使用
  • 机器学习-集成算法
  • macos使用FFmpeg与SDL解码并播放H.265视频
  • Web 安全之 HTTP 响应截断攻击详解
  • 中国之路 向善而行 第三届全国自驾露营旅游发展大会在阿拉善启幕
  • 细说数仓中不同类型的维度