标题:找出数组中重复的数


分析:此题为笔者在面试某TOP2公司时倒数第二面时遇到的一个题。要实现此算法,必须要设置一个标记数组,以整数做为下标来标记该数是否在数组中出现。这是一种常用的算法技巧。

 

#define  MAXMUM   65536

void FindRepeated(int a[], in n)

{

     int tmp[MAXMUM];

     int i;

 

     for (i = 0; i < MAXMUM; i++)

    {

         tmp[i] = 0;

     }

    ....

}

 

思考题:输入一个整型数组,里面既有正数,也有负数。数组中连续的若干个整数组成一个子数组。每个子数组都有一个和。求和最大的子数组。比如:1,-2,3,10,-4,7,2,-5,最大的子数组为3,10,-4,7,2,子数组和为18。

 

int find_max_sub_array(int a[], size_t n)

{

 

}

 



看文字不过瘾?点击我,进入腾讯课堂视频教学
麦洛科菲长期致力于IT安全技术的推广与普及,我们更专业!我们的学员已经广泛就职于BAT360等各大IT互联网公司。详情请参考我们的 业界反馈 《周哥教IT.C语言深学活用》视频

我们的微信公众号,敬请关注