
递归
JQW_YNU
无
展开
-
蓝桥杯历届试题——取球游戏(博弈论)
取球游戏今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。 我们约定: 每个人从盒子中取出的球的数目必须是:1,3,7或者8个。 轮到某一方取球时不能弃权! A先取球,然后双方交替取球,直到取完。 被迫拿到最后一个球的一方为负方(输方) 请编程确定...转载 2018-12-03 13:51:59 · 543 阅读 · 0 评论 -
【蓝桥杯】最小公倍数和最大公约数
最大公约数就是递归求的: 最小公倍数= a*b/gcd(a,b)原创 2018-12-03 12:21:03 · 377 阅读 · 0 评论 -
蓝桥杯-第七届省赛javaA组-搭积木
搭积木小明最近喜欢搭数字积木,一共有10块积木,每个积木上有一个数字,0~9。搭积木规则:每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。最后搭成4层的金字塔形,必须用完所有的积木。下面是两种合格的搭法:01 23 4 56 7 8 903 17 5 29 8 6 4 请你计算这样的搭法一共有多少种?请填表示总数目的数字。注意:你提交...转载 2018-12-03 11:29:48 · 255 阅读 · 0 评论 -
LeetCode 组合总和 Ⅳ
给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此输出为 7。进阶:如果给定的数组中含有负...原创 2018-12-07 16:52:38 · 406 阅读 · 1 评论 -
回溯法总结+四个小例题(装载问题,01背包,n后,最大团,m着色)
目录 回溯法的基本策略 回溯法的基本策略 回溯法的解空间 回溯法基本思想 回溯法解题步骤 递归回溯和迭代回溯 子集树和排列树 装载问题 01背包问题回溯法求解 n后问题 图的最大团问题 图的m着色问题 回溯法的基本策略策略:回溯法在问题的解空间树中,按深度优先搜索,从根节点出发搜索解空间。算法搜索至某一结点时,先判断该结点是否包含问题的解,如果肯定不包含,...转载 2018-11-28 19:53:00 · 1705 阅读 · 0 评论 -
0-1背包问题—回溯算法—java实现
0-1背包问题【问题描述】有n种可选物品1,…,n ,放入容量为c的背包内,使装入的物品具有最大效益。表示n :物品个数c :背包容量p1,p2, …, pn:个体物品效益值w1,w2, …,wn:个体物品容量【问题解析】0-1背包问题的解指:物品1,…,n的一种放法(x1, ···,xn的0/1赋值),使得效益值最大。假定背包容量不足以装入所有物品:面临选择【优...转载 2018-11-27 18:06:50 · 1153 阅读 · 0 评论 -
回溯法——八 / N 皇后问题
回溯法的基本做法是搜索,或是一种组织得井井有条的,能避免不必要搜索的穷举式搜索法。这种方法适用于解一些组合数相当大的问题。回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。回溯法指导思想——走不通,就...原创 2018-11-27 18:01:55 · 421 阅读 · 0 评论 -
2014年第五届蓝桥杯JAVA/JAVA++程序设计本科B组决赛 出栈次序(结果填空)
出栈次序X星球特别讲究秩序,所有道路都是单行线。一个甲壳虫车队,共16辆车,按照编号先后发车,夹在其它车流中,缓缓前行。路边有个死胡同,只能容一辆车通过,是临时的检查站,如图【p1.png】所示。X星球太死板,要求每辆路过的车必须进入检查站,也可能不检查就放行,也可能仔细检查。如果车辆进入检查站和离开的次序可以任意交错。那么,该车队再次上路后,可能的次序有多少种?为了方便起见,假设检查...原创 2018-12-02 22:35:21 · 310 阅读 · 0 评论 -
一 . 暴力破解与实用性优先
做题目时:能枚举就枚举,能逆向就逆向,先试探一个解。1. 猜年龄【问题描述】美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。他曾在1935~1936年应邀来中国清华大学讲学。一次,他参加某个重要会议,年轻的脸孔引人注目。于是有人询问他的年龄,他回答说:“我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。”...原创 2018-12-03 11:26:24 · 776 阅读 · 0 评论 -
蓝桥杯第六届省赛JAVA真题----生命之树
生命之树在X森林里,上帝创建了生命之树。 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, …, vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。 在这个前提下,上帝要使得S中的点所对应的整数的和尽量大。...原创 2018-12-05 18:11:17 · 494 阅读 · 0 评论 -
博弈问题
http://weilog.lanqiao.org/2018/03/17/altraining_ep5/转载 2018-12-03 23:05:41 · 261 阅读 · 0 评论 -
蓝桥-分酒问题
3. 分酒问题有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着。允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态。这样的一次倒酒动作称为1次操作。假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现?本题就是要求你编程实现最小操作次数的...转载 2018-12-03 23:02:51 · 885 阅读 · 0 评论 -
蓝桥-天秤称重问题
经典算法之天秤称重问题问题描述:已知所有砝码重量均为3的倍数,且所有重量的砝码有且只有一个要求输出1到n的所有物品的称重方式解题思路:物品重量 砝码1 12 3 - 13 34 3 + 15 9 - 3 - 1... ...经过对比发现,若物品重量刚刚超过了较大砝码的一半,则需要减去后一位数,反之则加. import...转载 2018-12-03 22:20:28 · 389 阅读 · 0 评论 -
蓝桥杯-迷宫问题(图)
...1111111111111111111111111111111.111111........1111111111.111111.111111..111.11111111.....111111.11111111111.1111111111.11111111.111111.................11111111.111111.11111111111.11111.111111...转载 2018-12-03 21:18:09 · 2970 阅读 · 1 评论 -
第9章 动态规划基础
第9章 动态规划基础很多同学听到“动态规划”的名称可能会望而生畏,觉得动态规划的问题都很复杂。但其实,动态规划本质依然是递归算法,只不过是满足特定条件的递归算法。在这一章里,我们就来逐步解开动态规划的神秘面纱目录9-1 什么是动态规划9-2 第一个动态规划问题 Climbing Stairs9-3 发现重叠子问题 Integer Break9-4 状态的定义和状态转移 House R...原创 2018-12-06 12:23:08 · 695 阅读 · 0 评论 -
蓝桥-深度优先求连通性
给定一个方阵,定义连通:上下左右相邻,并且值相同。可以想象成一张地图,不同的区域被涂以不同颜色。输入:整数N, (N<50)表示矩阵的行列数接下来N行,每行N个字符,代表方阵中的元素接下来一个整数M,(M<1000)表示询问数接下来M行,每行代表一个询问,格式为4个整数,y1,x1,y2,x2,表示(第y1行,第x1列) 与 (第y2行,第x2列) 是否连通。连通输出...原创 2018-12-03 19:12:45 · 340 阅读 · 0 评论 -
第八届蓝桥杯国赛Java b组 填字母游戏
小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说:“我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了”。K大师在纸上画了一行n个格子,要小明和他交替往其中填入字母。并且:1. 轮到某人填的时候,只能在某个空格中填入L或O2. 谁先让字母组成了“LOL”的字样,谁获胜。3. 如果所有格子都填满了,仍无法组成LOL,则平局。小明试验了几次都输了,他很惭愧,希望...原创 2018-12-03 17:29:59 · 547 阅读 · 0 评论 -
搭积木+寒假作业+方格填数 DFS解法
蓝桥杯比赛关于 DFS 算法总结方法以及套路分析首先我们来看几道java A组的题目,都是同一年的哦!!!搭积木小明最近喜欢搭数字积木,一共有10块积木,每个积木上有一个数字,0~9。搭积木规则:每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小。最后搭成4层的金字塔形,必须用完所有的积木。下面是两种合格的搭法: 0 1 2 3 4 56 ...原创 2018-12-04 21:36:21 · 582 阅读 · 0 评论 -
[LeetCode] Maximum Depth of Binary Tree 二叉树的最大深度
Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.Note: A leaf is a node with no childre...原创 2018-11-24 18:19:52 · 165 阅读 · 0 评论 -
递归实现二维数组输出
非递归实现: private static void findWords(int[][]board ,int index){//index可以不需要了 for (int i = 0; i <board.length ; i++) { for (int j = 0; j <board[0].length ; j+...原创 2018-11-25 20:47:00 · 867 阅读 · 0 评论 -
[LeetCode] N-Queens N皇后问题
问题:测试数据:[ [".Q..", // Solution 1 "...Q", "Q...", "..Q."], ["..Q.", // Solution 2 "Q...", "...Q", ".Q.."]]优化 -- 剪枝:思路:对角线分析: 代码;原创 2018-11-23 22:43:42 · 219 阅读 · 0 评论 -
[LeetCode] Number of Islands 岛屿的数量
测试数据:图形化表示: 代码:public class liubobo_8_5 { /// 200. Number of Islands/// https://leetcode.com/problems/number-of-islands/description//// 时间复杂度: O(n*m)/// 空间复杂度: O(n*m) pri...原创 2018-11-23 21:59:40 · 822 阅读 · 0 评论 -
[LeetCode] Word Search
图形化表述:代码:public class liubobo_8_4 { /// 79. Word Search/// Source : https://leetcode.com/problems/word-search/description/////// 回溯法/// 时间复杂度: O(m*n*m*n)/// 空间复杂度: O(m*n) ...原创 2018-11-23 21:32:17 · 220 阅读 · 0 评论 -
[LeetCode] Combinations 组合项
问题这是一个组合问题:图形化表述代码:import java.util.List;import java.util.ArrayList;import java.util.LinkedList;/// 77. Combinations/// https://leetcode.com/problems/combinations/description//// 时间...原创 2018-11-23 19:59:40 · 326 阅读 · 0 评论 -
[LeetCode] Permutations 全排列
Given a collection of numbers, return all possible permutations.For example,[1,2,3] have the following permutations:[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].图形化表述:解释:当第一次得到[1,2...原创 2018-11-23 17:56:18 · 850 阅读 · 0 评论 -
[LeetCode] Restore IP Addresses 复原IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combinations.For example:Given "25525511135",return ["255.255.11.135", "255.255.111.35"]. (Order does ...转载 2018-11-23 17:20:39 · 208 阅读 · 0 评论 -
[LeetCode] Invert Binary Tree 翻转二叉树
Invert a binary tree. 4 / \ 2 7 / \ / \1 3 6 9to 4 / \ 7 2 / \ / \9 6 3 1Trivia:This problem was inspired by this original tweet by Max Howell:...转载 2018-11-24 18:26:19 · 202 阅读 · 0 评论 -
[LeetCode] Symmetric Tree 判断对称树
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric: 1 / \ 2 2 / \ / \3 4 4 3 But the follo...原创 2018-11-24 18:35:07 · 164 阅读 · 0 评论 -
7届蓝桥杯第10题 -压缩变换
压缩变换小明最近在研究压缩算法。他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比。然而,要使数值很小是一个挑战。最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面出现的数字很大可能是刚出现过不久的数字。对于这种特殊的序列,小明准备对序列做一个变换来减小数字的值。变换的过程如下:从左到右枚举序列,每枚举到一个数字,如果这个数字没有出现过,刚将数字变换成...原创 2018-11-29 20:17:55 · 339 阅读 · 0 评论 -
7届蓝桥杯第8题 -四平方和
四平方和四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和。如果把0包括进去,就正好可以表示为4个数的平方和。比如:5 = 0^2 + 0^2 + 1^2 + 2^27 = 1^2 + 1^2 + 1^2 + 2^2(^符号表示乘方的意思)对于一个给定的正整数,可能存在多种平方和的表示法。要求你对4个数排序:0 <= a <= b ...原创 2018-11-29 19:36:51 · 474 阅读 · 0 评论 -
7届蓝桥杯第6题方格填数
方格填数如下的10个格子 +--+--+--+ | | | |+--+--+--+--+| | | | |+--+--+--+--+| | | |+--+--+--+(如果显示有问题,也可以参看【图1.jpg】)填入0~9的数字。要求:连续的两个数字不能相邻。(左右、上下、对角都算相邻)一共有多少种可能的填数方案?请填写表示方案数目的...原创 2018-12-02 13:35:27 · 418 阅读 · 0 评论 -
java 蓝桥杯 凑算式 ( 两种方法 暴力和dfs)
这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。解题:这个题还是没什么好说的,但是有一个小小的容易出错的点,就是int 和double类型的定义,代码中已经注解最终结果是29方...原创 2018-11-28 21:25:51 · 502 阅读 · 0 评论 -
正常血压 -递归解法
7-5 正常血压 (100 分)监护室每小时测量一次病人的血压,若收缩压在90 - 140之间并且舒张压在60 - 90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。输入格式:第一行为一个正整数n,n < 100 其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。输出格式:输出仅一行,血压连...原创 2018-11-24 22:38:43 · 1055 阅读 · 0 评论 -
[LeetCode] Path Sum III 二叉树的路径和之三
Example:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 / \ 5 -3 / \ \ 3 2 11 / \ \3 -2 1Return 3. The paths that sum to 8 are:1. 5 -> 32. 5 -...原创 2018-11-24 20:12:45 · 282 阅读 · 0 评论 -
[LeetCode] Binary Tree Paths 二叉树路径
Given a binary tree, return all root-to-leaf paths.For example, given the following binary tree: 1 / \2 3 \ 5All root-to-leaf paths are:["1->2->5", "1->3"]图形化表述:...原创 2018-11-24 19:39:20 · 179 阅读 · 0 评论 -
[LeetCode] Path Sum 二叉树的路径和
Given the below binary tree and sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1return true, as the...原创 2018-11-24 19:29:57 · 354 阅读 · 0 评论 -
[LeetCode] Letter conbinations of a phone number算法-递归-回溯法
问题:17 Letter conbinations of a phone number测试数据:边界控制:图形化表述:表达式表述:算法:import java.util.List;import java.util.ArrayList;/// 17. Letter Combinations of a Phone Number/// http...原创 2018-11-23 17:08:26 · 236 阅读 · 0 评论