- 博客(39)
- 资源 (3)
- 收藏
- 关注
原创 密室逃脱——广度优先搜索算法
小丫喜欢玩密室逃脱,每次游戏开始时,小丫会进入一个密室,她需要按照顺序解开各个隐藏线索才能成功逃脱密室。小Y非常聪明,解开线索对她来说并不难,但是她有一点懒,她希望在通关过程中移动次数最少。请你帮小丫计算她至少要移动多少次才能成 功通关。密室是m 行n列的格子矩阵,小Y从左上角(1,1)进入密室,密室中有三种格子: 墙,以数字0标记 路,以数字1标记 隐藏线索处,以数字(> 1)标记,代表该线索的难度 小Y需要按照难度递增的顺序解开各个线索,逃脱密室。时间限制:1000内存限制:65536。
2024-07-09 16:25:40
402
原创 洛谷 P1003 [NOIP2011 提高组] 铺地毯
为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n张地毯,编号从1到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。
2024-07-04 14:32:53
704
原创 洛谷 P1042 [NOIP2003 普及组] 乒乓球
国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。
2024-07-04 14:14:47
817
原创 2011^n的后四位
观察结果发现,1,501,1001的后四位数是相同的,只要我们求出n对500的余数就可以知道结果,而500的余数只受n的后四位影响,这样一来,运算数据量就变得很小了。一开始会想当然的想要直接计算出2011^的值,然后在输出后四位,转念就发现这个值太大了,n是一个最大200位的数,200位!第一行位一个正整数k,代表有k组数据,k
2024-07-02 10:16:00
884
原创 洛谷 P1097 [NOIP2007 提高组] 统计数字
某次科研调查时得到了 n 个自然数,每个数均不超过 1.5×109。已知不相同的数不超过 104 个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。共 m 行(m 为 n 个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出 2 个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。第一行是整数 n,表示自然数的个数;第 2 至 n+1 每行一个自然数。NOIP 2007 提高第一题。
2024-06-30 17:32:28
154
原创 洛谷 P1002 [NOIP2002 普及组] 过河卒
棋盘上 𝐴A 点有一个过河卒,需要走到目标 𝐵B 点。同时在棋盘上 𝐶C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。现在要求你计算出卒从 𝐴A 点能够到达 𝐵B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。棋盘用坐标表示,𝐴A 点 (0,0)(0,0)、𝐵B 点 (𝑛,𝑚)(n,m),同样马的位置坐标是需要给出的。对于 100%100% 的数据,1≤𝑛,𝑚≤201≤n,m≤20,0≤0≤ 马的坐标 ≤20≤20。NOIP 2002 普及组第四题。
2024-06-30 17:22:12
262
原创 棋盘问题——深度优先搜索
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。随后的n行描述了棋盘的形状:每行有n个字符,其中#表示棋盘区域,.表示空白区域(数据保证不出现多余的空自行或者空白列)。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个nn的矩阵内描述棋盘,以及摆放模子的数目。对于每一组数据,给出一行输出,输出摆放的方案数目C(数据保证C
2024-06-21 23:59:16
235
原创 Java最全面试总结——8.SpringCloud篇
另外,应避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行 构建,可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也 可以使用不同的数据存储。微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分为一组小的服务, 每个服务运行在其独立的自己的进程中,服务之间相互协调、互相配合,为用户提供最终价值。负载平衡改善跨多个计算资源的工作负荷,诸如计算机,计算机集群,网络链路, 中央处理单元,或磁盘驱动器的分布。
2024-02-29 16:14:22
1024
原创 Java最全面试总结——7.MySQL篇
数据库的三范式是什么?、数据库的三范式是什么?数据库引擎有哪些?如何查看mysql提供的所有存储引擎mysql常用引擎包括:MYISAMInnodbMemoryMERGEMYISAM:全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对较小,对事务完整性没有要求,以selectinsert为主的应用基本上可以使用这引擎Innodb:行级锁,提供了具有提交、回滚和崩溃回复能力的事务安全,支持自动增长列,支持外键约束,并发能力强,占用空间是。
2024-02-29 15:57:34
822
原创 Java最全面试总结——6.Springboot篇
Spring Boot 优点非常多,如:一、独立运行 Spring Boot而且内嵌了各种servlet容器,Tomcat、Jetty等,现在不再需要打成war包部署到容器 中,Spring Boot只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个jar包内。二、简化配置 spring-boot-starter-web启动器自动依赖其他组件,简少了maven的配置。
2024-02-24 11:47:57
777
1
原创 Java最全面试总结——5. MyBatis篇
Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直 接编写原生态sql,可以严格控制sql执行性能,灵活度高。(2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避 免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
2024-02-21 14:59:39
788
原创 Java 最全面试总结——4.Spring篇
通知是个在方法执行前或执行后要做的动作,实际上是程序执行时要通过SpringAOP框架触发的代 码段。
2024-02-21 13:05:14
652
原创 Java 最全面试总结——3.多线程篇
线程安全就是说多线程访问同一段代码,不会产生不确定的结果。又是一个理论的问题,各式各样的答案有很多,我给出一个个人认为解释地最好的:如果你的代码在多线程下执行和在单线程下执行永远都能获得一样的结果,那么你的代码就是线程安全的。(1)不可变像String、Integer、Long这些,都是final类型的类,任何一个线程都改变不了它们的值,要改变除非新创建一个,因此这些不可变对象不需要任何同步手段就可以直接在多线程环境下使用(2)绝对线程安全不管运行时环境如何,调用者都不需要额外的同步措施。
2023-11-29 21:51:13
990
原创 Java 最全面试总结——2.JVM 篇
JVM定义了不同运行时数据区,他们是用来执行应用程序的。某些区域随着JVM启动及销毁,另外一些区域的数据是线程性独立的,随着线程创建和销毁。jvm内存模型总体架构图如下:(摘自oracle官方网站)JVM在执行Java程序时,会把它管理的内存划分为若干个的区域,每个区域都有自己的用途和创建销毁时间。如下图所示,可以分为两大部分,线程私有区和共享区。JVM内存分为线程私有区和线程共享区Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。
2023-11-28 16:29:56
903
原创 iOS模拟器14.2,文本框无法呼出键盘
选中模拟器,点击 Mac 上方菜单“I/O”---“keyboard”---“connect hardware keyboard”,取消勾选。如果本来没有勾选,就勾选再取消。
2023-09-07 18:35:41
287
原创 SpringBoot集成LibreOffice+jodconverter做文件预览(office转pdf)
LibreOffice 是一款开放源代码的自由免费全能办公软件,可运行于 Microsoft Windows, GNU/Linux 以及 macOS 等操作系统上。它包含了 Writer, Calc, Impress, Draw, Math 以及 Base 等组件,可分别用于文本文档、电子表格、幻灯片演示文稿、绘图文档、数学公式编辑、数据库管理等工作。LibreOffice 采用对企业和个人用户均免费的 MPL 2.0 授权协议。
2022-11-13 11:10:09
4855
4
原创 Ubuntu18.04安装Docker完整教程
1.更新软件源列表sudo apt update2.安装软件包依赖sudo apt install apt-transport-https ca-certificates curl software-properties-common3.在系统中添加Docker的官方密钥curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -4.添加Docker源,选择stable
2022-05-16 21:38:58
11849
3
原创 Mac 解决 Sourcetree 总提示输入密码
git config --global credential.helper osxkeychain
2021-08-27 08:28:40
445
原创 Ubuntu20 JavaWeb环境搭建(JDK8,MySQL8,Maven,nginx,FTP,SSL证书配置)
一、安装JDK1. 更新软件包列表sudo apt-get update2. 安装openjdk-8-jdksudo apt-get install openjdk-8-jdk3. 验证安装结果$ java -versionopenjdk version "1.8.0_292"OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10)OpenJDK 64-Bit Server V..
2021-08-15 08:55:39
1967
原创 centOS安装vnc远程桌面
最近安装了CentOS vnc远程桌面,以此记录一下。Linux系统在服务器上一般都直接最小化安装,是不安装图形界面的,但是有时候,有一些特殊情况,需要使用图形界面,而下面就利用VNC来实现类似windows的远程桌面功能。 首先,系统需要有图形界面,可以在安装系统的时候一起安装gnome,或者后面再安装也行,下面有安装方法。环境: Centos7.2 gnome桌面前提: 需要用gnome桌面,如果服务器安装时使用的最小化安装,那么进行下面操作按章GNOME 桌面...
2021-08-03 23:18:13
6825
原创 Ubuntu安装npm gyp错误。确实解决了我的问题,记录一下
错提示 node-gyp : 依赖: nodejs-dev 但是它将不会被安装 依赖: gyp (>= 0.1+20150913git1f374df9) 但是它将不会被安装 推荐: build-essential 但是它将不会被安装E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系使用下面命令安装sudo apt install aptitudesudo aptitude install npm
2021-06-14 00:12:36
684
原创 PageHelper使用注意,线程污染问题,分页问题
问题复现代码://测试controller。@RestController@RequestMapping("/pageHelperTest")public class PageHelperTestController { @Autowired TestMapper testMapper; @RequestMapping("/list/{pageNo}") public Pagination search(@PathVariable("pageNo") in
2021-05-06 13:28:12
3073
2
原创 图解 MySQL 事务和MVCC多版本并发控制
MySQL事务隔离级别未提交读事务中的修改,即便是没有提交,对其他事务也是可见的。可能会产生脏读、不可重复读、幻读问题。脏读示例:已提交读一个事务开始时,只能“看见”已经提交的事务所做的修改。可能会产生不可重复读、幻读问题。不可重复读示例:可重复读保证了同一个事务中多次读取同样记录的结果是一致的。可能造成幻读问题。幻读示例:可串行化是最高的隔离级别,它通过强制事务串行执行,避免了前面所说的幻读问题。简单来说,它会在读取的每一行数据上都...
2020-06-14 23:26:20
745
2
原创 centos linux 单机搭建Redis集群 Redis5.0
1、在/user/local/创建redis-cluster目录mkdir redis-cluster2、在redis-cluster目录下创建节点目录mkdir 7001 7002 7003 7004 7005 70063、复制一份redis.conf文件到 7001节点目录cp redis.conf ../redis-cluster/7001/4.修改 redis-cluster/7001/redis.conf bind0.0.0.0(0....
2020-06-10 20:27:20
446
原创 centos linux SpringCloud项目 bash shell脚本打包、发布,一站搞定
1、安装gityum install git2、安装mavenyum install maven3、修改maven仓库地址和镜像为国内源,速度快的飞起 vim /etc/maven/settings.xml 将以下代码放入<mirrors>内: <mirror> <!--阿里云仓库--> <id>alimaven</id> <mirrorOf>...
2020-06-09 23:34:46
667
1
原创 腾讯云 centOS Linux 安装Redis
根据官网指导安装官网:https://redis.io/download$ wget http://download.redis.io/releases/redis-6.0.4.tar.gz$ tar xzf redis-6.0.4.tar.gz$ cd redis-6.0.4$ make由于腾讯云内下载redis太慢,手动下载下来,再使用FTP工具上传腾讯云,再执行以上命令。(wget就不用执行了,因为已经下载了嘛)Redis6安装出错报错:error: ‘struct r..
2020-06-07 23:42:01
515
原创 腾讯云 linux centos 安装mysql
首先,我们检测一下系统中是否已安装mysql的相关服务 命令:rpm -qa | grep mysql,无输出则证明未安装 然后我们使用yum检测查找系统自带的mysql安装文件。 CentOS7的yum源中未找到mysql服务。所以,我们要先下载mysql的repo源。 下载命令:wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 下载完成!接下来我们安装mysql-commun...
2020-06-07 22:14:19
352
原创 微信小程序,云开发,云函数数据库环境问题database collection not exists
问题描述:小程序云开发切换运行环境时,进行了以下修改:最关键一步是:app.js里的初始化,要给env设置参数,否则用的是默认环境,就是第一个创建的环境。这里的环境ID不是你自己设置的那个环境名,要去控制台的设置里查看重点来了设置完之后本以为万事大吉,我还是太天真了调用云函数返回异常:reason: Error: errCode: -502005 database collection not exists | errMsg: [ResourceNotFo..
2020-06-06 13:24:05
2646
原创 SpringBoot集成netty4.1 demo,基于NioServerSocketChannel
需要注意的是:writeAndFlush(Object msg)msg虽然是Object类型,却并不是什么类型都可以直接传,仅支持ByteBuf 和 FileRegion 类型以下为demo源码:引入依赖:<dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId></dependency>服务端.
2020-05-28 22:33:41
890
转载 数据结构与算法,红黑树与TreeMap详细解析
本文目录一、为什么要创建红黑树这种数据结构在上篇我们了解了AVL树,既然已经有了AVL这种平衡的二叉排序树,为什么还要有红黑树呢?AVL树通过定义我们知道要求树中每一个结点的左右子树高度差的绝对值不超过1,其是一颗严格的平衡树,这样构建出来的平衡二叉排序树具有很好的查找性能,但是为了保持其每个结点平衡因子绝对值不超过1的特性在插入或者删除的时候需要的维护成本是很大的,插入或者删除需要大量的平衡度计算,比如上一篇在AVL的插入的时候就需要不断回溯其父节点调整平衡因子的值,数据量小没什么问题,但
2020-05-18 00:14:29
200
原创 Ubuntu 安装 Elasticsearch踩坑,遇到could not find java错误
环境变量问题一开始jdk环境变量是这样配置的:/etc/profile:export JAVA_HOME=/usr/lib/java/jdk1.8.0_201/export PATH=${JAVA_HOME}/bin:$PATH启动ES报错:could not find java; set JAVA_HOME or ensure java is in PATH怀疑环境变量级别不够,把环境变量加到系统级,修改 /etc/environment 文件(小心红色部分,否则后悔莫.
2020-05-17 20:59:16
7030
原创 Spring Cloud Bus 配置,实现config自动刷新
Spring Cloud Bus是用轻量的消息代理将分布式的节点连接起来,可以用于广播配置文件的更改或者服务的监控管理。一个关键的思想就是,消息总线可以为微服务做监控,也可以实现应用程序之间相互通信。Spring Cloud Bus可选的消息代理线线泡括RabbitMQ、 AMQP和Kaka等。本节讲述的是用 RabbitMQ作为 Spring Cloud的消息组件去刷新更改微服务的配置文件。为什么需要用 Spring Cloud Bus去刷新配置呢?如果有几十个微服务,...
2020-05-16 18:44:58
528
原创 windows系统下载安装 RabbitMQ,下载太难?镜像版,真香
安装配置请参考:https://www.jianshu.com/p/3874a446a1e0国内镜像下载RabbitMQ:https://mirrors.huaweicloud.com/rabbitmq-server/
2020-05-16 17:18:36
2372
原创 SpringCloud系列-集成Zuul
SpringCloud集成Zuul遇到不少坑,特此记录一下,也希望能给大家借鉴一下在zuul网关module内添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId></dependency> 启动类添加@Ena
2020-05-15 23:15:54
1016
原创 Eureka高可用,节点均出现在unavailable-replicas下问题汇总
Eureka高可用部署,启动多个注册中心后,节点均出现在unavailable-replicas,可能问题如下:1.eureka.client.serviceUrl.defaultZone配置项的地址,不能使用localhost,要使用域名,修改hosts文件。2.spring.application.name要一致3.如下两个参数需配为trueeureka.client.register-with-eureka=trueeureka.client.fetch-registry=tru
2020-05-15 06:17:55
519
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人