摘要:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 和上一个思路差不多,找规律 台阶数, 跳法 1 1 2 2 3 4 4 8 5 16 得出两个规律 规律一:f(n) = 2*f(n-1) 规律二:f(n) = 2^(n-1) 规律一用于 阅读全文
摘要:
/*一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。*/ 首先我们考虑最简单的情况。 如果只有1级台阶,那么显然只一种跳法。 如果有2级台阶,那就有两种跳法:一种是分两次跳,每次跳1级;另一种是一次跳2级。 f(n)=f(n-1) 阅读全文
摘要:
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 先说一下什么是斐波那契数列 1,1,2,3,5,8. 循环方法: // 1,1,2,3,5,8 //通项公式 f(n) = f(n-1)+f(n-2) class Solution { 阅读全文
摘要:
给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 (注意:规定B[0] = A[1] * A[2] * ... * A[n-1],B[n-1] = 阅读全文
摘要:
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。 也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 思路:用一个辅助数组,数组大小 阅读全文
摘要:
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 首先第一个思路就是双层循环。但是时间复杂度太高了O(n^2) 所以就不写了 还有一个就是:利用哈希map,键存放数字,值存放出现的次数 #include <iostream> #include <vecto 阅读全文
摘要:
1.static类成员 C++primer里面说过,static类成员不像普通的类数据成员,static类数据成员独立于一切类对象处在。static类数据成员是与类关联的, 但不与该类定义的对象有任何关系。即static不会像普通类数据成员一样每一个类对象都有一份,全部类对象是共享一个static类 阅读全文