自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 收藏
  • 关注

原创 chppenv

【代码】chppenv。

2023-12-04 09:29:19 74

原创 【无标题】

【代码】【无标题】

2023-11-26 16:10:15 118

原创 DQN强化学习

算是自己写的第一个强化学习环境,目前还有很多纰漏,逐步改进ing。希望能在两周内施工完成。

2023-10-30 09:31:32 429

原创 算法设计作业

【代码】【无标题】

2023-10-22 23:08:01 632

原创 1752. 检查数组是否经排序和轮转得到

题目检查数组是否经排序和轮转得到难度简单给你一个数组 nums 。nums 的源数组中,所有元素与 nums 相同,但按非递减顺序排列。如果 nums 能够由源数组轮转若干位置(包括 0 个位置)得到,则返回 true ;否则,返回 false 。源数组中可能存在 重复项 。注意:我们称数组 A 在轮转 x 个位置后得到长度相同的数

2021-02-11 19:52:54 408 2

原创 703. 数据流中的第 K 大元素

题目数据流中的第 K 大元素难度简单设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。请实现 KthLargest 类:KthLargest(int k, int[] nums) 使用整数 k 和整数流 nums 初始化对象。int add(int val) 将 val 插入数据流&

2021-02-11 17:53:47 124

原创 leetcode665. 非递减数列

class Solution { public boolean checkPossibility(int[] nums) { int n = nums.length; int p=0,q=0; for(int i = 0;i<n-1;i++){ if(nums[i]>nums[i+1]){ p = i; q = i+1;

2021-02-07 20:17:16 131

原创 leetcode1423. 可获得的最大点数

思路:因为要求的是从首位拿的最大点数和,剩余的牌肯定是连续的,所以只要求出一个连续的长度为n-k的子数组和为最小的数组即可.class Solution { public int maxScore(int[] cardPoints, int k) { int n = cardPoints.length; k = n-k; int sum = 0,tot = 0; for(int i =0;i<k;i++){

2021-02-06 15:24:36 89

原创 leetcode643. 子数组最大平均数 I

class Solution { public double findMaxAverage(int[] nums, int k) { int n = nums.length; double res=0,t; int sum = 0; for(int i = 0;i<k;i++){ sum+=nums[i]; } res = (double)sum/k; for

2021-02-04 11:14:18 91

原创 leetcode480. 滑动窗口中位数

思路害,说来惭愧,一道hard的题目是暴力做的.来日再修改代码class Solution480 { public double[] medianSlidingWindow(int[] nums, int k) { int n = nums.length; double[] res = new double[n - k + 1]; int index = 0; List<Integer> l = new ArrayLi

2021-02-03 22:00:26 111

原创 leetcode424. 替换后的最长重复字符

做法双指针,暴力class Solution { public int characterReplacement(String s, int k) { if (s.equals("")) return 0; int n = s.length(); int Max = 0; Map<Character, Integer> m = new HashMap<>(); Deque<Charact

2021-02-02 21:22:32 79

原创 leetcode1128. 等价多米诺骨牌对的数量

解题思路二元组表示代码class Solution { private static int f(int x) { int res = 0; for(int i= 1;i<=x-1;i++)res+=i; return res; } public int numEquivDominoPairs(int[][] dominoes) { Map<Integer, Integer> m = new

2021-01-31 00:55:55 93

原创 leetcode959. 由斜杠划分区域

class Solution { public int regionsBySlashes(String[] grid) { int res = 1; int n = grid.length; int x = (n + 1) * (n + 1); int[] f = new int[x]; Union uf = new Union(x); //将边界全部连通 for (int i = 0;

2021-01-31 00:24:58 132

原创 leetcode724. 寻找数组的中心索引

class Solution { public int pivotIndex(int[] nums) { int n = nums.length,sum = 0,t = 0; for(int i : nums)sum+=i; for(int i=0;i<n;i++){ if(t==(sum-nums[i])/2.0)return i; t+=nums[i]; } re

2021-01-28 21:08:18 70

原创 SpringBoot集成JSR303

文章目录集成JSR3031.引入依赖2.在需要进行校验的类的对象上加上注解`@Valid`3.在类的各个字段上加上指定注解4.自定义JSR303注解集成JSR3031.引入依赖<!-- JSR303依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifac

2021-01-26 10:31:19 671

原创 实现两次md5加密

文章目录为什么需要两次md5加密?引入MD5所需依赖创建md5加密工具类为什么需要两次md5加密?1.用户端:Pass = MD5(明文+固定salt)目的:防止被人恶意截取数据包,得到明文密码2.服务端:Pass = MD5(用户输入+随机salt)目的:万一数据库被盗,有可能通过反查表来得到密码引入MD5所需依赖<dependency> <groupId>commons-codec</groupId> <artifactId>co

2021-01-24 14:41:46 1210 1

原创 Linux下安装Redis

文章目录1.下载地址2.将压缩包解压并移动3.修改配置文件4.启动服务5.访问redis6.生成系统服务1.下载地址https://redis.io/2.将压缩包解压并移动tar -zxvf redis-6.0.10.tar.gzmv redis-6.0.10 /usr/local/rediscd /usr/lcoal/redismake -jmake install 3.修改配置文件vim redis.conf# bind 127.0.0.7代表本机,需要修改为你的公网

2021-01-23 15:32:08 164 1

原创 SpringBoot继承Jedis

集成Jedis1. 引入jedis和fastjson依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId></dependency><dependency> <groupId>com.alibaba</groupId> <artifactId>fastjso

2021-01-23 15:09:12 176

原创 leetcode1319. 连通网络的操作次数

class Solution1319 { public int makeConnected(int n, int[][] connections) { int size = connections.length; if (connections.length < n - 1) return -1; Union uf = new Union(n); for (int[] conn : connections) {

2021-01-23 00:58:51 83

原创 leetcode628.三个数的最大乘积

class Solution { public int maximumProduct(int[] nums) { //进行自动装箱 Integer[] arr = new Integer[nums.length]; for (int i = 0; i < nums.length; i++) arr[i] = nums[i]; //Collections.reverseOrder() Java带有的降序排序函数 Array

2021-01-20 11:24:48 97

原创 leetcode684.冗余连接

并查集class Solution { void unite(int x, int y, int[] f) { f[find(f[x],f)] = find(f[y], f); } int find(int x, int[] f) { if (x == f[x]) return f[x]; return f[x] = find(f[x], f); } public int[] findRedundantConnec

2021-01-20 11:17:42 83

原创 leetcode239.滑动窗口最大值

思路利用优先队列每个位置存储一个int[2],第一个位置存放这个数的大小,第二个位置存放索引。自定义排序规则为按照数值的大小从大到小排列,这样堆顶的数就永远是最大的。需要注意的点是:我们并不需要在窗口每次移动的时候将最大值移出,除非最大值不在窗口内(这就是数组中索引的作用),利用while循环将不属于窗口的值移出.class Solution { public int[] maxSlidingWindow(int[] nums, int k) { int n = nums.l

2021-01-20 11:15:12 65

原创 leetcode1584.连接所有点的最小费用

class Solution { public int minCostConnectPoints(int[][] points) { int n = points.length; Point[] pointArr = new Point[(n*(n-1))/2]; UnionFind uf = new UnionFind(n); int index = 0; for (int i = 0; i < n; i++)

2021-01-20 11:08:16 116

原创 关于Java中的排序

1. 对基本类型数组排序默认顺序为从小到大,如何要自定义数组的排序顺序,只能将其自动装箱后自定义排序规则package sort;import java.util.Arrays;import java.util.Comparator;public class IntSort { public static void main(String[] args) { int[] arr = new int[]{1, 2, 3, 6, -1, 3, 0, 9};

2021-01-20 11:04:05 85

原创 [Mysql]-Mysql事务简介

文章目录事务:1.事务简介2.事务的四大特征3.事务提交、回滚4.事务特性--隔离性4.1隔离性有隔离级别4.2读未提交4.3 读已提交4.4 可重复读4.5 串行化4.6 脏读、幻读、不可重复读1.脏读(读取未提交数据)2.不可重复读:(前后多次读取,数据内容不一致)3.幻读:(前后多次读取,数据总量不一致)不可重复读和幻读到底有什么区别呢?参考博客:https://www.jianshu.com/p/081a3e208e32事务:1.事务简介(1)在 MySQL 中只有使用了 Innodb 数据

2020-12-15 01:04:42 123

原创 [github]-加速github访问

1.修改本地host文件windows本地host文件位置位于C:\Windows\System32\drivers\etcmac/linux系统的hosts文件的位置如下:/etc/hosts2.增加github.com和github.global.ssl.fastly.net的映射获取Github相关网站的ip访问https://www.ipaddress.com,拉下来,找到页面中下方的“IP Address Tools – Quick Links”分别输入github.global.ss

2020-12-15 01:02:49 259

原创 事务相关知识总结

参考博客:https://www.jianshu.com/p/081a3e208e32事务:1.事务简介(1)在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。(2)事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。(3)事务用来管理 insert,update,delete 语句。2.事务的四大特征一般来说,事务是必须满足4个条件(ACID):原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔

2020-12-10 10:25:51 158

原创 leetcode 37. 解数独

class Solution {public: bool row[9][9],col[9][9],cell[3][3][9]; void solveSudoku(vector<vector<char>>& board) { memset(row,false,sizeof row); memset(col,false,sizeof col); memset(cell,false,sizeof cell);

2020-11-12 11:06:53 81

原创 leetcode 30. 串联所有单词的子串

思路滑动窗口将字符串s分为多个长度的w(每个单词长度)的子区间,使用hash保存words中每个单词的个数再开一个hash保存遍历时的每个单词用cnt来记录子串中合法的单词个数每次遍历,和m*w之前的那个单词比较,如果单词在第一个开的hash中,就减去那个单词判断新的单词是不是保存在hash里且不超过words中的那个单词的个数,如果是,代表这个单词为合法单词,cnt+1,当cnt和m(words.size)相等时,即为一组结果,将j-(m-1)*w存入结果集class Solution

2020-11-12 09:56:52 133

原创 狂神说 Redis笔记

文章目录nosql为什么要用nosql什么是NOSQLNoSQL特点:了解:3V+3高alibaba架构演进nosql数据类型nosql四大分类KV键值对:文档型数据库(bson格式,和json一样):CAPBASERedis入门Redis能干嘛:特性:学习中需要用到的东西:Redis安装Windows下安装Linux下安装通过指定的配置文件启动服务使用redis-cli客户端连接查看redis进程是否开启如何关闭redis服务呢?shutdown测试性能命令参数如何查看分析基础知识五大基本数据类型Redi

2020-11-05 13:47:16 3544 2

原创 KMP算法

#include <cstdio>#include <vector>#include <string>using namespace std;//前后缀表void prefix_table(string pattern, vector<int> &prefix, int n) { prefix[0] = 0; int len = 0; int i = 1; while (i < n) {

2020-10-21 23:27:54 81

原创 docker 常用命令总结

Docker命令帮助命令docker version # 显示docker的版本信息docker info # 显示Docker的系统信息,包括镜像和容器的数量docker 命令 --help # 帮助命令帮助文档地址:https://docs.docker.com/reference/镜像命令docker images[root@ecs-029-docker docker]# docker imagesREPOSITORY TAG

2020-10-18 10:22:01 233

原创 Docker安装 总结

文章目录Docker安装Docker的基本组成安装Docker环境准备环境查看安装(centos)阿里云镜像加速回顾hello-world流程底层原理Docker安装Docker的基本组成镜像(image):docker镜像就好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像=》run==》tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终的服务运行或项目运行就是在容器中的)容器(container):Docker利用容器技术可以做到独立运行一个或一组应用,通过

2020-10-18 10:06:43 225

原创 leetcode 474. 一和零

class Solution { public int findMaxForm(String[] strs, int m, int n) { int[][] dp = new int[m + 1][n + 1]; for (String s : strs) { int[] cnt = count(s); for(int i = m;i>=cnt[0];i--){ for(int j.

2020-10-13 12:53:02 88

原创 leetcode 49. 字母异位词分组

public class Solution { public List<List<String>> groupAnagrams(String[] strs) { if (strs.length == 0) { return new ArrayList<>(); } Map<String, List<String>> map = new HashMap<>()

2020-10-12 22:34:19 61

转载 狂神 SpringBoot笔记整合

SpringBoot01:Hello,World!https://mp.weixin.qq.com/s/QSm0G1pgosE4H4IQGx9uTwSpringBoot02:运行原理初探 https://mp.weixin.qq.com/s/hzRwZvjYSX-dy-9Drz94aQSpringBoot03:yaml配置注入 https://mp.weixin.qq.com/s/E4WgcVIFxVVrfEZau-MikgSpringBoot04:JSR303数据校验及多环境切换 https://m

2020-10-10 15:19:51 1444

原创 Spring 事务操作

事务操作概念什么是事务事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败,所有操作都失败典型场景:银行转账事务四个特性(ACID):原子性:不可分割一致性:总量不变隔离性:两个人同时操作,不会对彼此产生影响持久性:提交后表中数据发生真正变化搭建环境创建数据库表,添加记录创建service,搭建dao,完成对象的创建和注入。service注入daodao注入jdbctemplate,在JDBCTemplate注入dataSource在d

2020-10-09 14:01:10 110

原创 Spring JdbcTemplate总结笔记

JDBCTemplate概念和准备Spring框架对JDBC进行封装,使用JDBCTemplate方便实现对数据库操作引入依赖<dependency> <groupId>org.springframework</groupId> <artifactId>org.springframework.orm</artifactId> <version>3.1.2.RELEASE</version&g

2020-10-08 20:01:06 277

原创 IOC控制反转

IOC容器(控制反转)1. IOC底层原理xml解析工厂模式反射概念和原理什么是IOC控制反转,把对象的创建和对象之间的调用过程,交给Spring进行管理使用IOC目的:为了耦合度降低做入门的案例就是IOC实现工厂模式目的:降低耦合度到最低限度IOC过程,进一步降低耦合度xml配置文件,配置创建的对象<bean id="dao" class="com.yang.UserDao"/>第二步 有service和dao类,创建工厂类cla

2020-10-08 00:35:57 194

原创 AOP面向切面编程

AOP(面向切面编程)概念:面向切面编程(面向方面编程)利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。通俗描述:不通过修改源代码方式,在主干功能里添加新功能底层原理AOP底层使用动态代理方式有两种情况的动态代理有接口情况,使用JDK动态代理没有接口情况,使用CGLIB动态代理有接口情况,使用JDK动态代理创建UserDao接口实现类代理对象,增强类的方法没有接口情况,使用CGLIB动态代理

2020-10-08 00:31:55 148

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除