问题描述小蓝有一条玩具蛇,一共有16节,上面标着数字1至16。每一节都是一个正方形的形状。相邻的两节可以成直线或者成90 度角。小蓝还有一个4×4的方格盒子,用于存放玩具蛇,盒子的方格上依次标着字母A到P共16个字母。小蓝可以折叠自己的玩具蛇放到盒子里面。他发现,有很多种方案可以将玩具蛇放进去。下图给出了两种方案:请帮小蓝计算一下,总共有多少种不同的方案。如果两个方案中,存在玩具蛇的某一节放在了盒子的不同格子里,则认为是不同的方案。这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。类似于第八届蓝桥杯省赛C++ B...
动态规划特点计数-有多少种方式从一点到一点-有多少种方法选出k个数使得和是Sum求最大最小值-从左上角走到右下角路径的最大数字和-最长上升子序列长度求存在性-取石子游戏,先手是否必胜-能不能选出k个数使得和是Sum先贴代码:package LinkCode; public class Solution { /** * @param A: a list of integer * @param M: a total M of money M * @return: the fewest number of A that you need to make ...
用Java实现的时候一般对照着C的代码来写,写的时候有一些问题。根节点信息丢失在运行CreateTree函数无误,但是在进行各种排列时只能显示根节点,左节点和右节点的值并没有被保存,通过排查发现函数中在进行递归插入左右节点的时候直接使用了node.leftnode,问题就出现在这里,这个node。leftnode是TreeNode类型,并没有初始化需要先new一下。各种排序会出现0的状况其实这个问题就是上面的方法产生的,在插入左右结点之前就创建了左右结点,以后有时间优化一下,这里的解决方案有屏蔽结点值为0,运行结果就是下面的了,我觉得写个函数删除一下应该也可以代码:package Tre...
二分查找代码:package search; import java.util.Date; public class T1 { public static void main(String[] args) { int[] nums = new int[200000000]; init_data(nums); long startTime = System.nanoTime(); int index = binarySearch(nums,99999997); //int index = norma...
这段代码还是挺有纪念意义的,从5.20到今天5.26晚上差不多一周时间,几乎把迷宫问题写烂了,但还是远远不够,甚至现在有点分不清dfs和bfs了,刚看了一下总结:dfs:有回溯的就是说在函数里调用了自己后把之前的状态修改回来 bfs基本上就是使用了队列。废话不多数,接下来是LeetCode中的一道题,好像是45题左右。题目是这样的:一个九键输入法,每个按键上有对应的英文数字,现在输入任意的数字,求组合后的按键序列。这道题比较像bilibili一个大神讲的递归ABC排列组合,这次代码一次跑通太开心了,上代码代码:import java.util.Stack; public class T...
代码:package maze; public class Main { public static void main(String[] args) { int graph[][] = {{0,1,3,4,7},{1,0,2,99999,99999},{3,2,0,5,8},{4,99999,5,0,6},{7,99999,8,6,0}}; MatGraph g = new MatGraph(); CreateGraph(g, graph, 5, 5); DisGraph(g); Prim(g,0...
题目:代码:package maze; import java.util.LinkedList; import java.util.Queue; class Pos { int x, y, step; public Pos(int x, int y, int step) { this.x = x; this.y = y; this.step = step; } } public class T2 { static int[][] maze = new int[20][20]; static ...
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; public class ReadText { public static void main(String[] args) throws IOException { File file = new File(&q...
前两天写的 迷宫算法是依据bfs算法最后把数组进行修改,最后得出路径看着比较直观。但实际问题往往不需要输出整个数组,而是选择的路径,所以要使用dfs结合队列进行存储路径代码:import java.util.LinkedList; import java.util.Queue; //定义Postion类主要是为了存储路径 class Postion { int x, y; public Postion(int x, int y) { super(); this.x = x; this.y = y; } } pub...
最近在准备第十二届蓝桥杯国赛,上一次国赛因为知识面狭窄很多算法都写不出。今年学习数据结构后有一些提升,虽然今年中心不在比赛,但是也希望能得个三等奖就知足了。其实蓝桥杯并不算难,里面很多算法都是死的,对于省赛来说,基本不需要算法知识就能得奖,但是对于国赛,省赛像一把削皮刀剔除一些编程能力相对弱一些的选手。废话不多说,之前一致想把BFS和DFS搞懂,但是被各种事情左右,一直没来的及。这次通过国赛复习用几个形象的例子来进行记忆主要用到BFS的回溯算法代码如下:public class Test { public static void main(String[] args) { ...