// test14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include<string> #include<cctype> #include <vector> #include<exception> #include <initializer_list> using namespace std; class Solution…
时间限制:1秒     空间限制:32768k 斐波那契数列指的是这样一个数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368. 可以观察到,从第3个数开始,每个数的值都等于前连个数之和. 同时,定义f(0)=0, f(1)=1. 则 f(2)=f(1)+f(0)=1; f(3)=f(2)+f(1)=2; ... 依次类推,  f(…
class Solution { public: int jumpFloor(int number) { ) ; ) ; )+jumpFloor(number-); } }; 如果先建立数组,然后利用数组累加,会超出存储限制.…
1. 题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 2.思路和方法 思路:(下面说到的x*y的矩形,x是宽,y是长,固定一下方便理解)假设一个2×n的矩形,那么放第一个小矩形有两种放法:放2×1的或者放1×2的,如果是放1×2的意味着在它的下面也只能放一个1×2的,组成一个2×2正方形.那么我们就可以分为两种结构,第一种是2×1的矩形,第二种是2×2的正方形.宽都是2不用考虑,长有1和2两种选择,那么可…
(n!/(n1! *n2! *n3!..nr!) )   * r!/( 同数量组A的数量! 同数量组B的数量!....) 比方20个东西分成2,2,,2,2   3,3,3,3 8组分给8个人有多少种分法 [20!/(2!^4  3!^4)] *  8! /(4!*4!) 说明8!表示有8组,那么意味着有8!种排列,由于2,2,2,2有4组,其中4!种排列是重复的同理3,3,3,3也一样 考虑特色情况8个人分8个不同的东西,每人一个 那么分组是1,1,1,1,1,1,1,1          …
我们可以用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…
首先说明这是一个数学的排列组合问题C(m,n) = m!/(n!*(m-n)!) 比如:有集合('粉色','红色','蓝色','黑色'),('38码','39码','40码'),('大号','中号') 分别从每一个集合中取出一个元素进行组合,问有多少种组合?解:C(4,1) * C(3,1) * C(2,1) = (4!/(1!*(4-1)!)) * (3!/(1!*(3-1)!)) * (2!/(1!*(2-1)!)) = 24/6 * 6/2 * 2 = 4 * 3 * 2 = 24(种)…
利用动态规划,一共有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<=…
class Solution { public: int rectCover(int number) { ; ; ; ||number==) ; ) ; ;i<number+;i++){ res=pre1+pre2; pre1=pre2; pre2=res; } return res; } }; 也可以采用矩阵的方式.这里可以用循环代替递归.…
每次分配一个苹果出去,然后再分配N-1个苹果.这里有个注意的地方就是,分那1个苹果的时候,假设还有N个苹果,不是从第一个人开始分,而是从N+1个苹果分配的位置开始,不然的话会产生重复的解.所以i=p不是i=0. List<Integer> result = Lists.newArrayList(0, 0, 0); @Test /** * N个苹果 M个人分 */ public void testMN() { foo(3, 3, 0); } private void foo(int n, int…
卡特兰数 大神解释:https://blog.csdn.net/akenseren/article/details/82149145      权侵删 原题 有一个容量足够大的栈,n个元素以一定的顺序入栈,出栈顺序有多少种? 比如,AB两个元素,入栈顺序为AB,出栈情况有两种: (1)入A,出A,入B,出B,出栈顺序为AB: (2)入A,入B,出B,出A,出栈顺序为BA. 因此,2个元素时,结果为2. 分析:设f(n)为“n个元素以一定的顺序入栈,出栈顺序的种类数”.显然f(1)=1,f(2)=…
https://blog.csdn.net/tcpipstack/article/details/45173685 一个人爬楼梯,一步可以迈一级,二级,三级台阶,如果楼梯有N级,要求编写程序,求总共有多少种走法. N级楼梯问题可以划分为:N-1级楼梯,N-2级楼梯,N-3级楼梯的走法之和. 先计算下0,1,2,3及楼梯有多少种走法: 1 --> 1 2 --> 11 2 3 --> 111 12 21 3…
前两天面试遇到的一个题,当时没有想清楚,今天想了一下,po出来: # -*-encoding:utf-8-*- import sys end = 0 # 终点 cnt = 0 # 统计组合方式 def jump(start): global cnt for i in [1,2]: cur = str(start)+"+"+str(i) if eval(cur) >= end: print cur cnt += 1 continue jump(cur) def main(n): &…
// n级台阶,求多少种跳法.cpp : Defines the entry point for the console application. // /* 思路: 如果只有一级台阶,n=1,很明显只有一种跳法 如果有两级台阶,n=2,则有两种跳法,一种是跳两下1级,一种是直接跳两级 那么我们来看看如果有n层台阶,可以怎么跳: n层台阶可以是这么够成的 1.第n层台阶是从第n-1层跳1级上来的 2.第n层台阶是从第n-2层直接跳2级上来的 所以可以得到n层的跳法总数是F(n)=F(n-1)+F…
有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完? 相关问题: (1)有个人想上一个n级的台阶,每次只能迈1级或者迈2级台阶,问:这个人有多少种方法可以把台阶走完?例如:总共3级台阶,可以先迈1级再迈2级,或者先迈2级再迈1级,或者迈3次1级总共3中方式. (2)有一段楼梯有10级台阶,规定每一步只能跨一级或两级,要登上第10级台阶有几种不同的走法? (3)一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来.如果所有兔子都不死…
在JSP中跳转有两种方式 forward跳转:<jsp:forward page ="跳转页面地址"> response跳转:response.sendRedirect("跳转页面地址"); 两种跳转的区别如下 forward跳转: 服务器端跳转,地址栏不改变. 执行到跳转语句后马上执行跳转,之后的代码不再执行(跳转之前一定要释放全部资源). request设置的属性在跳转后的页面仍然可以使用. response跳转: 客户端跳转,地址栏改变. 所有代码…
forward跳转:<jsp:forward page ="跳转页面地址"> response跳转:response.sendRedirect("跳转页面地址"); 两种跳转的区别如下 forward跳转: 服务器端跳转,地址栏不改变. 执行到跳转语句后马上执行跳转,之后的代码不再执行(跳转之前一定要释放全部资源). request设置的属性在跳转后的页面仍然可以使用. response跳转: 客户端跳转,地址栏改变. 所有代码执行完毕后跳转. 跳转后页…
1.Forword request.getRequestDispatcher (“url”).forword (request,response) 是请求转发,也就是说,一个 Servlet 向当前的 Servlet 发出请求后,经过这个方法后,请求会继续转发到请求的 URL, 在这个过程中,只向服务器发出一次请求.效率当然也就高了.从在浏览器地址栏中显示的 URL 来看,response.sendRedirect (“url”), 地址栏中的 URL 会发生变化,会显示重定向的这个 URL 的…
一:背景 相信很多人都知道通过 任务管理器 抓取dump,虽然简单粗暴,但无法满足程序的无数种死法,比如: 内存膨胀,程序爆炸 CPU爆高,程序累死 应用无响应,用户气死 意外退出,和人生一样 既然手工太弱鸡,那有什么好的工具呢? 除了 adplus,本文推荐一款神器 procdump, 下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump ,还能支持 linux ,具体怎么安装就不细说了. 二:内存膨胀,程序…
假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶. 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶. 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2 阶 + 1 阶 这个题本质就是解裴波拉切数 定义F(n)表示到达第n个台阶的方法,则F(n)…
/** 题目:Confusing Date Format UVALive 7711 链接:https://vjudge.net/contest/174844#problem/A 题意:给定mm-mm-mm格式的时间.年份(1900-1999)只给了后两位数,问有多少种合法的排列使时间正确. 思路: 第一次:快速读题,题意不清,没注意到这句话, To punish teams who did not read this problem statement carefully, we’ll add…
/* 问题描述: 小明有5本新书,要借给A.B.C三位小朋友, 若每人每次只能借一本,则可以有多少种不同的借法? 问题分析: 本题属于数学当中最常见的排列组合问题, 即求从5个数当中取3个不同数的排列组合的总数. 算法设计: 穷举法(枚举法).三重循环 循环三要素: 1)循环变量的初始化 2)循环的条件(以循环变量为基础) 3)循环变量的改变(向着循环的结束变) */ #include "stdio.h" int main() { ;//计算个数 printf("A,B,C…
不容易系列之(4)——考新郎 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 37629    Accepted Submission(s): 13786 Problem Description 国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作…
版权声明:本文由阁主的小跟班原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/695994001482226944 来源:腾云阁 https://www.qcloud.com/community 作为一名程序员,业余时间你会写个爬虫, 抓数据?抓图片?或者是自己搭个应用号,玩的不亦乐乎.也许做为一名hacker的你,可以在云上施展你的项目. 抽出一些业余时间,把你在腾讯云上研究的玩法写下来吧,我们会选择最优秀的玩法给予奖品…
历数依赖注入的N种玩法 在对ASP.NET Core管道中关于依赖注入的两个核心对象(ServiceCollection和ServiceProvider)有了足够的认识之后,我们将关注的目光转移到编程层面.在ASP.NET Core应用中基于依赖注入的编程主要涉及到两个方面,它们分别是将服务注册到ServiceCollection中,和采用注入的方式利用ServiceProvider提供我们所需的服务.我们先来讨论ASP.NET Core应用中如何进行服务注册.[本文已经同步到<ASP.NET…
Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For example,Given n = 3, there are a total of 5 unique BST's. 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3 注意:二分查找树的定义是,左子树节点均小于root,右子树节点均大于root!不要想当然地将某…
最近Qt的blog总结了到底有多少种smart pointer, 下面是一个简要的介绍: 1.   QPointer :提供对指针的保护,当一个指针被删除以后,再使用不会造成野指针或者指针溢出.比如 QPointer<MyObj> obj …;if(!obj.isNull()) obj->foo;// 成功… //对象被另外一个线程删除了if(!obj.isNull()) obj->foo;// 不会造成内存错误,该函数不会被调用 (2009/10/27更正:需要加入if(!obj…
题目:N个数依次入栈,出栈顺序有多少种? 首先介绍一下卡特兰数:卡特兰数前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 91482563640, 343059613650, 1289904147324, 486194…