有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完? 相关问题: (1)有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完?例如:总共3级台阶,可以先迈1级再迈2级,或者先迈2级再迈1级,或者迈3次1级总共3中方式. (2)有一段楼梯有10级台阶,规定每一步只能跨一级或两级,要登上第10级台阶有几种不同的走法? (3)一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来.如果所有兔子都不死…
迭代器 我们已经知道,可以直接作用于for循环的数据烈性有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str,bytes等: 一类是generator,数据结构,包括生成器和带yield的generator function. 这些可以直接作用于for循环的对象统称为可迭代对象:Iterable 可以使用isinstance()判断一个对象是否是Iterable对象. 而生成器不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值, 直到最后抛出S…
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形. 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 是不是发现看不懂,哈哈:编程题就是这样,一定要归纳,手写过程: n = 1,则 1; n = 2.则1,1横1,1竖:是不是有点眼熟: n= 3,则1,1,1横,1,1横1竖,1竖1,1,横:...还要再说么? 注意不能省2,因为0为0: public class Solution { public int RectCover(int target) { if(ta…
题目一:给出一个n,代表有从1到n的数字[1,2,3,··· n],问可以构成多少种二叉搜索树? 一开始的想法是直接递归构造,时间复杂度是指数上升:后来想法是找规律:先看例子: n = 1, 有一个元素,可以构成一个二叉搜索树,左右都没有元素,总数量 = 左子树数量 右子树数量,记为f(1) = f(0) f(0) = 1,这儿可以将f(0)初始化为1;n = 2, 1做根,那么左子树没有元素记为f(0),右子树有一个元素记为f(1), 2做根,左子树有一个元素,记为f(1),右子树没有元素记为…
/** 题目:F - Goldbach`s Conjecture 链接:https://vjudge.net/contest/154246#problem/F 题意:对一个大于2的偶数n,找有多少种方法使两个素数的和为n:保证素数a<=b; a+b==n; a,b都为素数. 思路:直接暴力,为了避免内存超限,用bool类型判断素数. */ #include<bits/stdc++.h> using namespace std; typedef long long ll; ; bool f…
我们先把前四节种数算出来(自己想是哪几类,如果你不会算,那就放弃写代码吧,干一些在街上卖肉夹馍的小生意,也挣得不少) 标号 1    2    3     4 种类 1    2    4     7 假如你求第四台阶你可以把她视为  第三台阶到第四台阶  第三到第四有几种?显然就一种就是跨一步到第四台阶(就是4x1种) 同理 第二到第三台阶也是夸一步到第三个台阶(2x1) 第一到第二就一种那就是 1 第四种可以等于 4 +2+1=7(种) 只是一种思想 屌大的人也可以看出来 发现 第n项的值…
class Solution { public: int rectCover(int number) { ; ; ; ||number==) ; ) ; ;i<number+;i++){ res=pre1+pre2; pre1=pre2; pre2=res; } return res; } }; 也可以采用矩阵的方式.这里可以用循环代替递归.…
利用动态规划,一共有n列,若从左向右放小矩形,有两种放置方式: 第一种:横着放,即占用两列.此时第二行的前两个空格只能横着放,所有,总的放置次数变为1+num(2*(n-2)),其中2*(n-2)代表两行n-2列的矩阵 第二种:竖着放,此时有1+num(2*(n-1)),因此 利用动态规划求解 public class Solution { public int RectCover(int target) { int [] res = new int[target+1]; if(target<=…
有必要说说我为什么要开始写这个,正文从下面的第一条开始 我最近忙于公司的项目,一直没有抽出时间来写文章.本来想每个月写一片文章,保质保量,无奈上个月没有坚持. 这段时间有点忙,主要是由于公司业务调整,我从原来的广告项目中调整到新业务线的前台页面开发了,和以前一样,还是带着3.4个兄弟姐妹.不同的是以前的项目周期普遍偏长,可以让每个同学有时间从头到尾的把项目吃透,而现在做C端的前台页面往往开发时间非常的短,比如我们就要在1.2个月完成业务线所有前台页面的开发.联调.测试.部署,以及下一步的迭代.由…
今天开始了体温上传程序的开发 今日所学: 获取时间 (21条消息) (转)安卓获取时间的三种方法_sharpeha的博客-CSDN博客_安卓获取时间 DB Browser安装教程 (20条消息) sqlite数据库可视化工具-- DB.Browser安装说明_Yyuanyuxin的博客-CSDN博客 DB Browser下载地址 Downloads - DB Browser for SQLite 简单的数据库操作源码 (20条消息) Android studio之数据库入门加学生信息保存提取练习…