PS:今天上午,非常郁闷,有很多简略基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!

1、腾讯面试题:给定一数组a[N],我们希望造构数组b [N],其中b[j]=a[0]*a[1]…a[N-1] / a[j],在造构过程当中,不允许应用除法:

要求O(1)空间复杂度和O(n)的时间复杂度;

除遍历计数器与a[N] b[N]外,可不应用新的量变(括包栈时临量变、堆空间和全局静态量变等);

实现序程(主流编程语言任选)实现并简略描述。

void main(void){          int a[5]={1,3,5,7,9};         int b[5];         int i;         b[0]=1;         for (i=1;i<5;i++){                 b[i]=b[i-1]*a[i-1];         }          for(i=3;i>=0;i--){                 b[0]*=a[i+1];                 if(i==0)                         break;                 b[i]*=b[0];         }         for(i=0;i<5;i++){                 printf("%d ",b[i]);         }  }

2、机随生成和为S的N个正整数——投影法

设假生成和为20的4个正整数:

每日一道理

书,各种各样的书。书,寄托着人类热切的希望;书,蕴含着人类丰富的感悟。提起书,会有说不完的话语……


#include<time.h> int sort(int *array,int len){         int i=0;         int j=0;         unsigned tmp;         for(i=0;i<len-1;i++){                 for(j=0;j<len-i-1;j++){                         if(array[j]>array[j+1]){                                 tmp = array[j];                                 array[j] = array[j+1];                                 array[j+1] =tmp;                         }                 }         }         for(i=0;i<len;i++){                 printf("%d  ",array[i]);         }         printf("\n");         return 0; }  int generate(){         int i=0,a[3],b[4];         srand((unsigned )time(NULL));         for(i=0;i<3;i++){                 a[i]=rand()%20;                 printf("%d ",a[i]);         }         printf("\n");         sort(a,3);         printf("///////\n");         b[0]=a[0];         printf("%d ",b[0]);         for(i=1;i<3;i++){                 b[i]=a[i]-a[i-1];                 printf("%d ",b[i]);         }         b[3]=20-a[2];         printf("%d ",b[3]);         printf("\n"); }  void main(){         generate(); }

文章结束给大家分享下程序员的一些笑话语录: 打赌

飞机上,一位工程师和一位程序员坐在一起。程序员问工程师是否乐意和他一起玩一种有趣的游戏。工程师想睡觉,于是他很有礼貌地拒绝了,转身要睡觉。程序员坚持要玩并解释说这是一个非常有趣的游戏:"我问你一个问题,如果你不知道答案,我付你5美元。然后你问我一个问题,如果我答不上来,我付你5美元。"然而,工程师又很有礼貌地拒绝了,又要去睡觉。  程序员这时有些着急了,他说:"好吧,如果你不知道答案,你付5美元;如果我不知道答案,我付50美元。"果然,这的确起了作用,工程师答应了。程序员就问:"从地球到月球有多远?"工程师一句话也没有说,给了程序员5美元。  现在轮到工程师了,他问程序员:"什么上山时有三条腿,下山却有四条腿?"程序员很吃惊地看着工程师,拿出他的便携式电脑,查找里面的资料,过了半个小时,他叫醒工程师并给了工程师50美元。工程师很礼貌地接过钱又要去睡觉。程序员有些恼怒,问:"那么答案是什么呢?"工程师什么也没有说,掏出钱包,拿出5美元给程序员,转身就去睡觉了。