京东算法笔试
2016-09-20 14:11
148 查看
算这两道题以前都做过吧,第一题斐波拉契的非递归实现,第二题总结递推公式。慢慢积累!
/***************************************************** * \file SingletonPatternDemo.cpp * \date 2016/07/13 18:20 * \author ranjiewen * \contact: ranjiewen@outlook.com *****************************************************/ //有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或者二级,要走上m级,共有多少走法?注:规定从一级到一级有0种走法。 //给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100。为了防止溢出,请返回结果Mod 1000000007的值。 //测试样例: //3 //返回:2 #include <iostream> using namespace std; //// 费波纳西数列的非递归解法 class GoUpstairs { public: int countWays(int n) { // write code here /*if (n == 1) return 0; else if (n == 2) return 1; else if (n == 3) return 2; else return (countWays(n - 1) + countWays(n - 2)) % 1000000007;*/ unsigned long long dp[101] = { 0 }; dp[2] = 1; dp[3] = 2; for (int i = 4; i <= n; i++) { dp[i] = dp[i - 1] + dp[i - 2]; if (dp[i] > 1000000007) { dp[i] = dp[i] % 1000000007; //59以后的数就没有意义了,溢出了。 } } return dp ; } }; int main(int argc, char* argv[]) { int count = 0; GoUpstairs s; cout << s.countWays(96) << endl; //cout << s.dp[96] << endl; return 0; } //小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推知道全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数) //给定四个整数A, B, C, D,请返回所求结果。 //测试样例: //100, 90, 80, 70 //返回:1020 class Balls { public: int calcDistance(int A, int B, int C, int D) { // write code here return 3 * (A + B + C + D); } int calcDistance(int A, int B, int C, int D) { int result = A + B + C + D; return result + distance(A) + distance(B) + distance(C) + distance(D); } private: int distance(int n) { if (n <= 0) return 0; int mod = n % 2; return n + distance(n / 2) + mod; } };
相关文章推荐
- 京东算法笔试
- 算法与数据结构——京东笔试题
- 京东2017校园招聘数据与算法方向笔试题
- 【数据结构与算法】京东笔试题 去右括号
- 京东算法笔试
- 名企笔试:京东 2016 算法工程师笔试题(登楼梯)
- 算法-【京东笔试】关于第K个幸运数(4和7)的算法
- 2016京东算法工程师实习生笔试编程题:上台阶
- 2016京东算法工程师实习生笔试编程题:小球的距离
- 名企笔试:2016京东笔试(抛小球)2017-05-14 算法爱好者
- 名企笔试:京东算法工程师笔试题(排序问题)
- 算法编程题积累(2)——京东笔试“求概率”问题
- 笔试、面试重点总结:算法基础、数据结构
- 算法与数据结构——4399笔试题
- 笔试中遇到的一些算法问题
- 百度2014校园招聘笔试题 ——深度学习算法研发工程师.
- 从一道笔试题谈算法优化
- 【面试笔试算法】Program 3 : Complicated Expression(网易游戏笔试题)
- 百度2014校招笔试题目题解(更新了第1题的算法,10.9下午) .
- 经典笔试题:从十亿个整数中选择前100大整数的算法实现