算法
小羊coder
一名还算不上入行的小白 还请各位大佬多多指导
展开
-
快速渡河 贪心
题目:每个人过河都有自己的过河时间,有n个人想过河,但只有一只小船,最多只能装2个人,每一次过河,过河时间为用时最多的那人过河时间,如果还有人没有过河,那么过去一个用时最少的送回船。问n人过河最少要多少时间 ?import java.util.Arrays;import java.util.Scanner;/** 题解:* 明显用贪心算法。主要就是分析情况,并做出最优解...原创 2020-03-08 22:31:23 · 243 阅读 · 0 评论 -
dfs 素数环问题
素数环问题:输入一个正整数n,对前n个数进行排序并要求两数相邻之和为素数。解题思想:当然用全排列也可以,但最优的还是是用dfs一步步的去找,并剪枝。package com.lanqiaobei;import java.util.Scanner;//遍历前n项的相邻数的和,并输出public class 素数环dfs { private static int n; p...原创 2020-03-07 19:36:02 · 201 阅读 · 0 评论 -
蓝桥杯 JAVA 数独dfs
就是通过深度搜索一步步的去找正确的结果package com.lanqiaobei;import java.util.Scanner;public class 数独dfs { //打印符合条件的结果 public static void print(char[][] table){ for(int i=0;i<9;i++) ...原创 2020-03-07 10:38:39 · 178 阅读 · 0 评论 -
n皇后问题-递归
递归回溯的简单的应用package com.lanqiaobei;import java.util.Scanner;public class n皇后dfs { private static int n; private static int count; //检查当前位置是否可用 public static boolean check(int[] a,in...原创 2020-03-06 19:00:16 · 149 阅读 · 0 评论 -
递归的应用
求最大子序列问题/*求最大子序列问题;通过递归只能解决一些小规模的问题;思想:①也是一样把问题分开一步一步的来求。②分别把两个字串的第一个字母拿出来,进行比较。分别得到两种情况;③然后分别对得到的情况进行递归;④再处理边界情况,也就是跳出的条件;*/ public class Maxpub { public static void main(String[] args) ...原创 2020-02-12 23:34:20 · 111 阅读 · 0 评论 -
递归的应用
从M个球中取出N的球的又多少中的去发/*不放回的分球法;就是通过构建出一个分开的区域,进行递归*/public class fenqiu {public static void main(String[] args) { int t=f(5,2); System.out.println(t);}public static int f(int m,int n){ if(m&...原创 2020-02-12 23:32:46 · 86 阅读 · 0 评论 -
递归
求n个元素的全队列/*全队列问题 就是求n个元素的全队列思想:①先创建一个数组,转化成对这个数组的元素进行全队列打印;②拆分先偷懒解决一个问题(首元素的位子进行遍历排序),把剩下的交给下一个人;③遍历排序每一种的情况,最后用完后一定记得回溯的原先的状态;*/public class quanpailie {public static void main(String[] ar...原创 2020-02-12 23:30:37 · 105 阅读 · 0 评论 -
二叉树的深度遍历算法
小球下落 :完全二叉树,最大深度D。所有节点从上到下从左到右编号为1,2,3…2的D次方-1.在节点1处放一个小球,它会往下落。每个内节点上都由一个开关,初始全部关闭,当每次有小球落到一个开关上时,它的状态都会改变。当小球达到一个内节点时,如果该节点上的开关关闭,往左走,否则往右走,直到遍历到叶子节点。问题,输入 深度和小球个数输出节点编号思路直接遍历每一个小球经过二叉树的情况,并记录...原创 2020-02-02 11:56:19 · 530 阅读 · 0 评论