- 博客(31)
- 问答 (1)
- 收藏
- 关注
原创 第九届蓝桥杯个人赛省赛(软件类)JavaB组试题第九题
前言这个题 断断续续 写了俩天,老天爷都看不下去了,让我想到了,也不废话了,只需正确理解题目的一个点就行题目说:那么就是说一个岛经过淹没后有没有可能变成两个岛甚至更多岛如下Intput9..........###.###..###.###..###.###....###......###......###....##...##..........这个地图本来有3个岛,最上面一个岛经过淹没后变成了3座岛,下面2个岛结果淹没后全没了,所以有2个岛会被完全淹没。浅贴一下代码,代
2022-03-25 22:22:44
428
原创 Poj 2243 Knight Moves——A*+PriorityQueue的细节记录
Knight MovesDescriptionA friend of you is doing research on the Traveling Knight Problem (TKP) where you are to find the shortest closed tour of knight moves that visits each square of a given set of n squares on a chessboard exactly once. He thinks tha
2022-03-05 14:41:19
268
原创 整数划分问题算法的优化
????牺牲空间换取时间⏳ package lanqiaobei003;import java.util.Scanner;public class Integer_divide { static int[][] aa; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); aa = new int[n+1][n+1];.
2022-01-14 23:01:03
252
原创 八数码难题——bfs(java)
编号为1~8的8个正方形滑块摆成3行3列(有一个格式留空),如图所示。每次可以把与空格相邻的滑块(有公共边才算相邻).移动到空格中,而它原来的位置就成舍了新的空格。给定葫始高面和目标局面(用0表示空格),你的任务是计算出最少的移动步数。如果无法到达局面,则输出-1。
2021-12-15 23:52:56
1512
原创 动态规划之石子合并问题
问题思路假设有 1 2 3 三堆石头 总代价计算如下:我们看到总代价 必然包括 三堆石头的总和 6,剩下代价看 1-2 和2-3 哪个代价最小,那么总代价为6加上最小代价。所以有公式 mm[1][3] = MIN(mm[1][2],mm[2][3]) + sum(1,3)推广到一般式 mm[1][n] = MIN(mm[1][n-1],mm[2][n]) + sum(i,n)推广到一般式 mm[i][j] = MIN(mm[i][j-1],mm[i+1][j]) + sum(i,n)自
2021-11-25 17:59:59
891
原创 动态规划之最长递增子序列
文章目录思想1、穷举2、动态规划实现实现思想1、穷举容易想到,穷举所有可能,1 7 9,1 7 8,1 3 5 9 ,1 3 5 8…2、动态规划实现(1)一个数组存储输入数据——aa(2)一个数据保存到第i位为止,的最大长度——bb(3)初始bb[1] = 1,因为只有一个数,它本身的长度位1(4)bb数组第二位,bb[2],如果aa[2]>aa[1],那么bb[2] = bb[1]+1,否则bb[2] = 1(5)bb数组第三位,bb[3],如果aa[3]>aa[2]&
2021-11-24 20:14:13
142
原创 动态规划-矩阵连乘
文章目录前言一、穷举法与备忘库法1、穷举法2、备忘录法二、动态规划法前言游戏规则:矩阵之间的连乘与数的连乘或连加不同,不同的 连乘的顺序 最终计算的次数也不同。如下一、穷举法与备忘库法1、穷举法列举所以的可能的计算次序,计算所有的计算次序所用的次数,然后找出最少的计算次序。2、备忘录法存在很多子问题已经别求解,通过数组存储已经求解的问题,递归求解之前,先检查是否已经求解,如果已经求解,直接使用。 private static int lookupChain(int i, int.
2021-11-20 20:35:32
2538
原创 动态规划之最大字段和
1、思路最大字段和问题可以有三种解法:1.穷举法2.分治法3.动态规划法2、穷举法穷举每一种可能,两到三层循环,既可以搞定。时间复杂度O(n2)或O(n3)。 private static int MaxSubSum(int[] aa) { int T,bestI=0,bestJ=0; int maxSum=aa[0]; for (int i = 0; i < aa.length; i++) { for (int j = i+1; j < aa.leng.
2021-11-17 22:33:40
2557
原创 算法分析-DP(Dynamic Programming)之LCS(Long Common Subsequence)
文章目录前言一、问题描述二、问题解决1.穷举搜索法2.动态规划法(填表法)三、算法实现1.递归实现2.备忘录法3.动态规划法四、优化1.不使用b数组2.滚动数组前言鸡爸爸对自家的三儿子产生了怀疑,因为他没有继承自己优良的基因,于是鸡爸爸带着他去找了鉴定中心,小鸡内心忐忑不安,因为爸爸看上去很生气,对他没有了以往的温柔。此时一切只能交给鉴定结果了…经过缴费抽样后,有了以下结果,S1是鸡爸爸的基因序列,S2是小鸡的基因序列。S1=ACCGGTCGAGTGCGCGGAAGCCGGCCGAA... S
2021-11-11 16:06:57
677
原创 算法分析-递归之汉诺塔(java)
文章目录前言一、汉诺塔汉诺塔游戏二、使用步骤1.引入库2.读入数据总结前言汉诺塔问题(梵塔问题, Tower of Hanoi)汉诺塔来源于一个印度的传说故事:上帝在创造世界时做了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着64片黄金圆盘上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上规定:在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘有预言说,这件事完成时地球会在一瞬间毁灭,也有人相信婆罗门至今仍在一刻不停地搬动着圆盘如果移动一个圆盘需要一秒钟,请大家预
2021-11-09 22:00:29
880
原创 算法题-报数游戏(java)
思路:首先用一个数组来保存同学信息。for(int h=1;h<=n;h++) { a[h]=h; }其次依照题目,需要一个数来记录此时是正向报数1->n,还是逆向报数n->1。然后通过函数判断是否是满足条件(7的倍数或包含7)的数。以及该同学第几次报数了最后输出 实际数import java.util.Scanner;public class Oj_PositiviesGames { static int z=0; public static vo.
2021-11-09 20:57:02
3614
1
原创 算法题-骨牌覆盖(java)
思路:可以理解为排列组合和递归的结合,横杠每次只能两个一起出现,并且在同一列。假设n为6。初始化时 令 num = 1,即全||||||的情况。如果n为偶数,num++,即全 ===的情况。递归第一次:=||||,=有C(5,4)种排放方式。递归第二次:==|| ,=有C(4,2)种排放方式。递归第三次:n==0,递归条件为n>0,结束递归。import java.util.Scanner;public class Oj6 { static double num=1;//全||||.
2021-11-09 20:15:54
500
原创 算法之快速排序
快速排序基本思想核心算法如下1、QuickSort:2、partition: 以下俩个方法类似,下图为第一个方法的配图改进1、最坏情况2、最好情况3、一般情况4、主定理5、Random改变基准数改QuickSort:汇总基本思想(1)分解(divide):对于数组 a [p : r],以a[ p ]为基准将其分解为三段 a[ p ]的a[p : q-1],a[ q ] ,a[q+1 : r],前者都比a[q]小,后者都比a[q]大。(2)递归求解(conquer)递归调用快速排序算法,分别对a[p
2021-10-31 23:21:00
352
原创 驱动程序(简易字符驱动程序)
第二个驱动程序(简易字符驱动程序)1、编写驱动程序///////////////char.c////////////////# ifndef __KERNEL__# define __KERNEL__# endif# ifndef MODULE# define MODULE# endif# include <linux/mm.h>#include <linux/module.h>#include <asm/segment.h>#include &l
2021-06-20 11:38:05
368
原创 简易驱动程序
第一个驱动程序1、编写驱动程序##############hello.c#############include<linux/init.h>#include<linux/module.h>#include<linux/kernel.h>static int __init hello_init(void){ printk(KERN_ALERT"Hello World!\n"); return 0;}static void _
2021-06-17 22:17:15
329
原创 2021-04-30
Could not resolve com.android.tools.build:aapt2:4.1.1-6503028我是这么理解的(build 需要翻墙,速度很慢,导致build不成功,添加这里添加阿里镜像)
2021-04-30 15:45:05
362
1
原创 汇编程序编写时 masm,link的问题解决
汇编程序编写时 masm,link的问题解决1、Extra characters on line 注释的用的";"是中文的 “;” ———————————————————— 2、Operand types must match(操作数于操作码不匹配) sto是字节 bx是字 ———————————————————— 3、Must be index or base register([address]必须是数或寄存器)所以我们可以mov [0000],ax或mov
2021-04-27 18:23:02
2539
原创 java连接数据库
java连接数据库(Driver、url、user、password、Connection、Statement、sql(String)、RusultSet)已往数据库插入为例,下面是一种比较直接的方式/** * 插入一"学生"。 * * @param student * @return * @throws Exception */ public int insertStudent1(Student student) throws Exception { int ret =
2021-03-16 01:56:11
775
1
原创 cmd------不是内部或外部命令,也不是可运行的程序
CMD 部分指令(ping attrib)不可用之环境变量(系统变量)配置首先看图此电脑->属性高级系统设置环境变量系统变量的 Path 和PATHEXT==双击Path ==点击新建依次把下面的字符串 copy上去%C_EM64T_REDIST11%bin\Intel64%SystemRoot%\system32%SystemRoot%%SystemRoot%\System32\Wbem%SYSTEMROOT%\System32\WindowsPowerShell\
2021-02-25 14:33:26
3515
2
翻译 移动应用开发-Android-Button注册事件监听
Button注册事件监听器第一种方法//创建监听器对象MyButtonListener listener = new MyButtonListener(); //将监听器注册给按钮 button.addActionListener(listener);}public void showTime() { SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); String timestr = sdf.format(new Date
2020-12-12 20:46:45
267
1
原创 2020-12-07
java连接sql第一步,请点击我这个超链接可能因为java的版本和jdbc的版本不一,将会报错,我试了俩个,我的Java和第一个是匹配的。不匹配的话将会报错:Exception in thread “main” java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtim
2020-12-07 17:40:18
111
原创 Java 学习小结
Java 学习小结final关键字1.在类的声明时前面加final 关键字,该类将不能被派生子类,不能被继承。例如java.lang.String 类的一个final类, 保证String类对象调用的是String类自己的方法,而不是子类重写的方法。String类调用equals 去比较是比较字符而不是地址,equals方法不被重写的话比较的是地址。// An highlighted blockpublic final class Animal{ private final char
2020-11-06 20:22:12
115
原创 2020-10-30
#面向对象程序设计语言的三大特性:继承,封装,多态##封装:封装可以隐藏实现细节,使得代码模块化;仅对外提供公共访问方式。封装时的权限控制符区别如下:// An highlighted blockvar foo = 'bar';...
2020-10-31 12:20:04
161
原创 2020-10-28
static关键字类变量(静态变量) 成员变量声明时使用**static**,变量将成为**静态变量**或**类变量**。 加载类时只分配一次空间, **作用**:静态变量可以跟踪实例对象数目对于类变量(静态变量)可以直接通过类名调用,不需要实例化一个对象再调用。public class A {public static int a=6; private int b;} publi
2020-10-28 09:52:57
85
原创 二分法求多项式单根 (20分)
#include <stdio.h>float a3,a2,a1,a0;// 全局变量//float f(float x);int main(int argc, char **argv) { float left, right, a, b, mid; scanf("%f %f %f %f", &a3,&a2,&a1,&a0); ...
2020-04-10 12:08:53
144
空空如也
程序生涯中有哪些由MD5引发的故事?
2021-11-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人