今天开始不定期更新笔试算法题
一转眼到大四,决定找工作,参加了几次校园招聘,结果不尽如人意,方知自己实力不济,有点儿后悔当初没跟着张老大爷好好学算法,也没好好做ACM,于是痛下决心,从今开始研习算法,一扫20岁最后留下的阴霾,也算为21岁开个好头!
先说一个小题吧,不难,但有助于发散思维。
求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)
答:看完之后有点儿傻眼,好像说的跟什么都不能用一样,这咋办,要想理解递归就要理解递归......
/// <summary> ///递归累加 /// </summary> /// <param name="n">累加长度(默认从一开始)</param> /// <param name="sum">累加结果</param> /// <returns></returns> public static bool GetSum(int n, ref int sum) { sum += n; return (n - 1 <= 0) || (GetSum(n - 1, ref sum)); }
PS:看见了一个淘宝数据的博客,有兴趣的园友可以去参观,个人认为牛人颇多,地址:http://www.tbdata.org/archives
祝我生日快乐,群星闪耀!