- 博客(73)
- 收藏
- 关注
原创 字符串解码
https://leetcode-cn.com/problems/decode-string/思路:利用两个栈,一个字符栈,一个数字栈遇到’[‘:数字进栈,字符进栈(实现细节利用StringBuilder拼接)遇到’]':数字出栈,字符出栈class Solution { public String decodeString(String s) { StringBuilder sb = new StringBuilder(); Stack<Integer
2022-04-22 10:18:35 193
原创 最长重复子数组&最长重复子序列
两道字符串DP题最长重复子数组https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray/class Solution { public int findLength(int[] nums1, int[] nums2) { int n = nums1.length; int m = nums2.length; int[][] dp = new int[n+1][m+1]
2022-04-21 12:24:19 632
原创 删除有序数组中的重复项【模板】
删除有序数组的重复项给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致class Solution { public int removeDuplicates(int[] nums) { if(nums.length==1) return 1; int left = 1; for(int right=1;right<
2022-04-20 11:19:58 292
原创 MYSQL脏读、不可重复读、幻读
这些问题都发生在事务并发的情况下脏读脏读是指一个是事务查询到另一事务还未提交的信息隔离级别 READ_UNCOMMITTED例如(1)事务A执行了一次查询(2)事务B执行了一次更新语句(3)事务A再次执行一次查询此时,事务A查询到的是事务B还未提交的信息那解决思路就是让事务A只能查询到其他事务提交后的信息但若这样解决了脏读,就会出现不可重复读的问题不可重复读不可重复读是一个事务在相同的查询语句下出现不同的结果隔离级别 READ_COMMITTED例如(1)事务A执行了一次查询
2022-04-04 11:33:04 688
原创 计算素数【埃氏筛】
class Solution { public int countPrimes(int n) { boolean[] isPrime = new boolean[n]; Arrays.fill(isPrime, true); for(int i=2;i*i<n;i++){ if(isPrime[i]){ int x = i; while(i*x<n){
2022-03-30 22:35:25 113
原创 删除链表的倒数第N个节点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。Method1常规解法: 求出链表长度,获得倒数第n+1个节点位置,删除/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * Li
2022-03-29 21:04:18 73
原创 JAVA八股文
1、谈谈面向对象的理解?面向对象与面向过程的区别?面向对象的三个特性:封装封装是指将类内部的实现细节隐藏,只提供调用接口,封装不仅可以有效保护数据,还可以提高代码的解耦性继承继承是指从现有类中继承基类的数据和方法,并拓展新的方法,继承可以提高代码的复用性和灵活性堕胎...
2022-03-29 18:36:50 667
原创 实现strStr()
实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。method1 暴力法时间复杂度 O(MN) 空间
2022-03-20 13:41:22 1129
原创 两道动态规划买股票的题
T1:给定一个数组 prices ,其中 prices[i] 表示股票第 i 天的价格。在每一天,你可能会决定购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以购买它,然后在 同一天 出售。返回 你能获得的 最大 利润1、定义dp数组dp[i][0]定义为第i+1天时手上没有股票的情况;dp[i][1]定义为第i+1天时手上有股票的情况;2、确定递归方程(状态转移方程)手上没有股票时有两种情况:①卖出了股票,说明之前持有股票 ②今天没有进行交易,说明之前没有股票针对① A
2022-03-07 17:05:06 389
原创 【求求你们别复制粘贴了】实现图像均匀切块&拼图
真的很无语,本来想找个图像切片和拼图的方法,网上一搜,全是一样的,还有BUG,简直垃圾的一批。于是自己实现了一波图像均分实现def jiasaw_transform(image, count=3): width, height = image.size item_width = int(width / count) item_height = int(height / count) patch_list = [] for j in range(0, count
2021-12-12 12:14:59 3044
原创 pytorch 创建onehot向量
one-hot向量ne-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。例如[1,2,4] 有三个数 数的范围是0-4 因此需要一个3x5的张量,可以编码为[[0 1 0 0 0],[0 0 1 0 0],[0 0 0 0 1]]使用pyto
2021-04-06 12:27:35 1791 1
原创 计算:单纯形法求解线性规划问题
用单纯形法求解线性规划问题对于标准型为最小值的单纯形法单纯形表格具有的特点中心部位具有单位子块右列元素非负单位子块对应的底行元素为0底行其他元素非负(标准型为最大值时,要求底行元素非正数)刚好四个条件都满足的例题例1minz=x1−3x2+2x3+4x4s.t.2x1−4x3+x4=6−x1+x2+3x3=5x1,x2,x3,x4≥0minz = x_1-3x_2+2x_3+4x_4 \\s.t. \qquad 2x_1-4x_3+x_4=6\\\quad \qquad -x_1
2020-11-19 10:36:36 10649 3
原创 每日一题:求岛屿的数量
每日一题-岛屿数量https://leetcode-cn.com/problems/number-of-islands给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围示例1:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0
2020-11-18 13:37:10 933 1
原创 浅谈区块链的密码学原理:hash与签名
比特币与区块链这个概念一直很火,我也一直不是很明白,最近才懂了一些些比特币用到了密码学中的2个功能:①HASH ②签名(非对称加密)Hash简单的来说:假设你有一个x,通过某个函数f(x),映射算出某个值的过程就是hash,这个f(x)就是HASH函数。Hash的特点Collision resistance x可以有若干个,这若干个x就组成了输入空间,通常这个输入空间是足够大的,...
2020-01-19 16:58:40 1426
原创 反射与动态代理
title: 反射学习笔记date: 2020-01-01 12:08:14tags:categories:概述定义JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。功能运行时判断任意一个对象所属的类运行时构造任一个类的...
2020-01-01 17:56:29 232
原创 Spirng Cloud学习笔记
title: Spirng Cloud学习笔记date: 2019-12-26 13:41:22tags: SpringCloudcategories: 后端单体应用存在的问题随着业务的发展,开发变得越来越复杂。修改、新增某个功能,需要对整个系统进行测试、重新部署。一个模块出现问题,很可能导致整个系统崩溃。多个开发团队同时对数据进行管理,容易产生安全漏洞。各个模块使用同一种技...
2019-12-26 13:53:09 179
原创 堆排序原来这么简单
title: 堆排序原来这么简单date: 2019-09-21 20:17:41tags: 数据结构categories: 计算机理论前言之前上数据结构这门课的时候,一直没搞明白堆排序到底是为啥就能排序了呢。最近终于弄懂了,其实很简单。顺便吐槽一下,严蔚敏的紫书代码可读性真滴不咋滴,有了注释也很难知道在说啥,没有就更不用说了,一股浓浓的学究代码气息扑面而来?anywhere,把...
2019-09-21 21:57:56 288
原创 编程珠玑:位排序(Python实现)
title: 编程珠玑:位排序(Python实现)date: 2019-09-09 20:49:48tags: 数据结构categories: 计算机理论问题描述输入给出至多10,00,000个正整数的序列特征:–每个数都小于10,000,00–数据不重复且 数据之间不存在关联关系输出:增序输出序列约束:–内存容量1MB–磁盘空间充足–运行时间至多...
2019-09-11 23:59:16 385
原创 图的常见算法实现(汇总)
前言本来是想用C语言好好写的,可是指针和结构体太烦人了,弄得我头凉。因此决定用python实现一下图的一些算法。远程仓库地址:https://github.com/XiaoZhong233/DataStructure_Python/tree/master/graph图的存储结构实现图的实现有邻接矩阵,邻接表,十字链表等。我后面的算法主要用邻接表建议直接看[邻接表实现2,基于字典实现]...
2019-09-06 13:06:59 3344 2
原创 AOE网及关键路径实现
title: AOE网及关键路径实现date: 2019-09-03 19:46:30tags: python,数据结构categories: 计算机理论关键路径算法原理AOE网是另一种常用的带权有向图。这是一种重要的PERT模型(Program Evaluation and Review Technique,规划评估和评审技术),最早是美国军方支持开发出来的,用于大型工程的计划与管...
2019-09-03 20:31:59 1163
原创 拓扑排序及实现
title: 拓扑排序及实现date: 2019-09-03 19:45:00tags: python,数据结构categories: 计算机理论拓扑排序算法原理拓扑排序是有向图(网)中的内容,只在有向网(图)的范畴中讨论。先看一个实际生活中可能遇到的问题:选课问题,例如上大一的时候你肯定要先学C语言,然后才能学数据结构。这个时候C语言和数据结构就构成了一个排列问题,谁在前谁在后。...
2019-09-03 20:31:15 295
原创 最短路径:迪杰斯特拉算法实现
title: ‘最短路径:迪杰斯特拉算法实现’date: 2019-09-03 19:42:02tags: python,数据结构categories: 计算机理论最短路径dijkstra算法算法原理在看迪杰斯特拉算法之前,可以先回顾下BFS算法的过程。BFS的实现是通过一个队列实现。还是这张图选择假设BFS从A节点开始,A节点出队后,将A的邻接节点B,C入队然后B出队,D...
2019-09-03 20:30:33 767 1
原创 最小生成树:克鲁斯卡尔算法实现
title: ‘最小生成树:克鲁斯卡尔算法实现’date: 2019-09-03 19:37:50tags: python,数据结构categories: 计算机理论克鲁斯卡尔算法算法原理及流程原理在一个连通图中不断选取权值最小的边,然后连起来,就是这样。假设给定图G,结果图T基本步骤如下:将G中的所有边按权值递增的顺序进行排序选择权值最短的边且边的两端点属于不同连通分量...
2019-09-03 20:29:24 820
原创 最小生成树:Prim算法实现
title: ‘最小生成树:Prim算法实现’date: 2019-09-03 19:32:57tags: python,数据结构categories: 计算机理论Prim算法算法原理及算法流程原理根据(MST性质:网络G必有一颗最小生成树),具体证明不再赘述,大概思想就是假设你现有一个图的集合G,从G中的一个顶点出发,不断的选择最短的一条连接边,扩充到已选边集N中,直至N包含了图...
2019-09-03 20:28:25 365
原创 图的遍历:BFS和DFS
title: ‘图的遍历:BFS和DFS’date: 2019-09-03 19:24:07tags: python,数据结构categories: 计算机理论图的遍历BFS(广度优先搜索)算法原理及步骤按照广度优先原则遍历图,利用了队列,有点像树的层次遍历。广度优先遍历的结果不唯一。整个遍历过程大概是这样的:给定一个起始顶点,将该起始顶点入队顶点出队,如果当前顶点未被标记访问...
2019-09-03 20:26:48 955
原创 图的存储结构实现:邻接表
title: 图的存储结构实现:邻接表date: 2019-09-02 19:49:22tags: python,数据结构categories: 计算机理论邻接表实现数据格式如图所示:graph = { "A": {"B": 5, "C": 1}, "B": {"A": 5, "C": 2, "D": 1}, "C": {"A": 1, "B": 2, "D...
2019-09-03 20:05:09 844
原创 CentOS上安装配置Python3.7
title: CentOS上安装配置Python3.7date: 2019-08-19 12:30:24tags: 部署categories: Python安装依赖包yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make...
2019-08-19 22:56:46 195
原创 Vim常用操作及使用技巧
title: Vim常用操作及使用技巧date: 2019-08-19 20:18:37tags: Linuxcategories: 运维早期版本:viVim常用操作Vim是一个功能强大的全屏幕的文本编辑器,是Linux/UNIX上最常用的文本编辑器,他的作用是建立、编辑、显示文本文件。VIm 没有菜单,只有命令vim常用命令编辑模式常用命令a 在光标所在字符后插入A...
2019-08-19 22:55:32 286
原创 Linux 常用命令-关机重启命令
title: Linux 常用命令-关机重启命令date: 2019-08-19 19:40:22tags: Linuxcategories: 运维shutdown描述:关机,重启这个命令比较“安全”选项:-h 关机-r 重启-c 取消前一个关机命令例如:shutdown -h now #现在关机shutdown -h 20:30 #晚上八点半关机shutdow...
2019-08-19 22:54:41 484
原创 Linux常用命令-网络命令
title: Linux常用命令-网络命令date: 2019-08-18 21:11:39tags: Linuxcategories: 运维write命令功能:给用户发信息,以Ctrl+C结束,通信双方要求已登录。用法:wirte <用户名>执行权限:所有用户实例:在zhong这个用户下给root用户发信息在root用户中就可以看见了wall命令英文缩...
2019-08-19 22:54:00 373
原创 linux常用命令-压缩解压命令
title: linux常用命令-压缩解压命令date: 2019-08-17 22:08:03tags: linuxcategories: 运维打包命令在总结解压前,需要先了解打包命令,Linux的有些压缩格式是无法直接压缩目录的,需要用到tar命令进行打包成文件。使用方法:tar -cf[v] 打包后的文件名 需要打包的目录名选项:-c打包-f指定文件名-v输出详细信...
2019-08-18 00:32:49 250
原创 Linux常见命令-帮助命令
title: Linux常见命令-帮助命令date: 2019-08-16 23:00:21tags: linuxcategories: 运维man命令man可以查看命令的帮组和配置文件的帮助man查看命令信息例如想要查看ls的帮助信息man ls查看ls命令的帮助信息按空格翻页 按q离开NAME代表描述,说明这个命令的作用SYNOPSIS表示用法,说明这个命令的...
2019-08-18 00:31:58 340
原创 Linux常见命令-用户管理命令
title: Linux常见命令-用户管理命令date: 2019-08-16 23:04:27tags: linuxcategories: 运维useradd功能描述:添加新用户执行权限:root命令所在路径:/usr/sbin/useradduseradd xxx #用户名passwd如果需要给用户密码好让该用户访问系统,则需要用到该命令功能描述:设置用户密码执...
2019-08-18 00:31:01 156
原创 hexo部署云服务器的全过程
title: hexo部署云服务器的全过程date: 2019-08-16 20:17:17tags: 部署categories: 运维前言由于不想部署在github上,因为Github的访问速度在国内比较慢,所以有了此文。部署之前先了解一下hexo利于git更新的流程,部署在Github上和部署在云服务器上没有特别大的本质区别。整个流程就是本地将 *.md 渲染成静态文件,然后...
2019-08-16 21:35:47 3398 2
原创 Scrapy爬取CSDN博客列表
title: Scrapy爬取CSDN博客列表date: 2019-08-16 13:48:43tags: 爬虫categories: Python新建Scrapy爬虫项目如果你还没有安装Scrapy,可以通过下面这个命令安装```pip install scrapy```新建一个项目安装好之后就可以创建项目了scrapy startproject 你的项目名创建...
2019-08-16 15:00:16 581
原创 进入Docker容器中修改mysql密码
众所周知,docker内的容器对外界来说是封闭的,有时候需要修改一些配置或者进行一些命令交互时,就需要进入到docker容器内部进行交互进入mysql容器内部使用命令docker exec -ti percona mysql -u root -p命令及参数解释:docker exec :在运行的容器中执行命令OPTIONS说明:-d :分离模式: 在后台运行-i :即使没有附加...
2019-08-13 18:13:14 25775 12
原创 计算机组成原理:系统总线总结
总线的基本概念历史:早期计算机采用分散连接的方式,这种连接方式以运算器为中心,I/O与存储器交换信息时,都要通过运算器,致使运算器停止运算。为了提高CPU工作效率,改进为存储器为中心的分散连接。随着IO设备的增多,这种连接方式逐渐淘汰,所以出现了总线连接的方式。计算机使用总线结构便于增减外设,同时减少了信息传输线。知识点:总线:总线是连接多个部件的信息传输线,是各部件共享的传输介质。...
2019-08-04 18:20:09 2507
原创 腾讯云COS对象存储使用记录及实现图片上传
开通服务创建存储桶创建密钥SpringBoot下配置COSSecretId 是你生成的密钥ID,Key是密码,region是地区,url是访问域名,bucketName是桶名创建测试类先测一下能不能用,在单元测试中添加@RunWith(SpringRunner.class)@SpringBootTest(classes = COSTest.class)public c...
2019-07-31 22:16:35 5586 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人