【顺丰2018-09-17在线笔试】抓卡片

版权声明:本文为阿木寺的原创文章,未经本人允许不得转载。 https://blog.csdn.net/amusi1994/article/details/82748486

题目描述

其实可以看作斐波那契数列问题或者跳台阶问题。

在这里插入图片描述

C++代码

#include <iostream>

using namespace std;

class Solution {
public:
	// 思路: 找规律,发现解法类似于斐波那契数列:1,2,3,5,8,13...
	int jumpFloor(int number) {
		if (number <= 0)
			return -1;
		int j_2 = 1;
		int j_1 = 2;
		int j = 0;
		if (number == 1 || number == 2)
			return number;
		while (number >= 3){
			j = j_2 + j_1;
			j_2 = j_1;
			j_1 = j;
			number--;
		}
		return j;
	}
};

int main()
{
	Solution s;

	int n;
	cin >> n;

	cout<<s.jumpFloor(n);

	return 0;
}

猜你喜欢

转载自blog.csdn.net/amusi1994/article/details/82748486
今日推荐