自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GoSantiago的博客

本文为自己学习过程中记的笔记,仅做备忘查看使用。

  • 博客(124)
  • 资源 (4)
  • 收藏
  • 关注

原创 豆瓣日历 摘抄

我在最好的时候碰到你,是我的运气,可惜我没有时间了。想想,说人生无悔,都是赌气的话,人生若无悔,那该多无趣啊。-《一代宗师》

2023-01-06 14:34:33 131

原创 leetcode-子序列 子串

1. 求两个数组的最长公共子序列刻画最长公共子序列问题的最优子结构设X=x1x2…xm和Y=y1y2…yn是两个序列,Z=z1z2…zk是这两个序列的一个最长公共子序列。 如果xm=yn,那么zk=xm=yn,且Zk-1是Xm-1,Yn-1的一个最长公共子序列; 如果xm≠yn,那么zk≠xm,意味着Z是Xm-1,Y的一个最长公共子序列; 如果xm≠yn,那么zk≠yn,意味着Z是X,Yn-1的一个最长公共子序列。从上面三种情况可以看出,两个序列的LCS包含两个序列的前缀的

2021-10-20 23:40:47 248

原创 LeetCode-搜索

DFS1. 岛屿的最大面积岛屿的最大面积package dfs;import java.util.Arrays;public class Solution_island { public static int maxAreaOfIsland(int[][] grid) { if(null == grid || grid.length == 0 || (grid.length == 1 && grid[0].length == 0))

2021-10-20 23:32:50 137

原创 LeetCode-回溯

矩阵中的路径package huisu;public class Solution_01 { public static boolean hasPath(char[] matrix, int rows, int cols, char[] str) { if(rows == 0 || cols == 0) return false; char[][] matrix2 = new char[rows][cols]; int index =

2021-10-20 23:30:12 97

原创 剑指Offer中遇到的问题

总结第26、27、28、32-3、33、34、36题,不会做。好好看看39 40 42 45都不是很难,而且有一定的技巧。46题一时没有想起来好的解决办法。49也需要一定的技巧59-1好好做做03 数组中重复的数字class Solution { //遍历数组,使得下标i位置上的值num[i]==i public static int findRepeatNumber(int[] nums) { for(int i = 0; i < nums.length;

2021-07-12 22:55:23 171 1

原创 子串&子数组问题

1. 累加和等于num的最长子数组的长度(有负数)注:数组元素可为负数思路:求子数组问题,就是依次考虑数组中每一位元素之前的数组的情况。比如说arr = {7,3,2,1,1,7,7},依次考虑数组范围(0-i)中,任意元素开始,以arr[i]结尾的子数组是否符合条件。比如说i=0时,子数组{7}符合条件;i=4时,子数组{3,2,1,1}符合条件。假设遍历到i位置,数组元素从0加到i的值为sum,只需要求i之前的数组中,是否出现过和为sum-num的情况。例如,arr = {9,8,3,2,1,

2021-07-12 22:51:51 287 1

原创 编程常见问题

1. 二维数组初始化int[][] grid = { {1,2,3}, {2,0,4}, {3,1,1}};判断二维数组是否为空二维数组为空,要检查三个部分:一是数组首地址是否为空二是是否为{},也就是array.length==0的情况三是是否为{{}},这时array.length=1,但是array[0].length==0。所以判断语句为if(array==null||array.length==0||(array.length==

2021-07-12 22:47:09 602

原创 项目中的流程

1. SpringMVC执行流程浅探SpringMVC中HandlerExecutionChain之handler、interceptor2. IOC启动流程参考spring的启动是建筑在servlet容器之上的,所有web工程的初始位置就是web.xml,它配置了servlet的上下文(context)和监听器(Listener)。 web.xml中定义了 上下文监听器 Contex...

2020-04-16 19:30:39 264

原创 十进制转36进制

package test;import java.util.HashMap;import java.util.Stack;/** * 36进制与10进制转换思路: * 一、创建HashMap类型对象用于存放数字'0'到字母'Z'36个字符值键对 * 二、 * @author Administrator * */public class Ten2Sixty...

2020-04-06 13:48:41 818

转载 设计模式之工厂模式(factory pattern)

工厂顾名思义就是创建产品,根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。本文从一个具体的例子逐步深入分析,来体会三种工厂模式的应用场景和利弊。1. 简单工厂模式该模式对对象创建管理方式最为简单,因为其仅仅简单的对不同类对象的创建进行了一层薄薄的封装。该模式通过向工...

2020-03-24 19:41:46 164

原创 累加和等于num的最长子数组的长度

1. 累加和等于num的最长子数组的长度(有负数)注:数组元素可为负数思路:求子数组问题,就是依次考虑数组中每一位元素之前的数组的情况比如说arr = {7,3,2,1,1,7,7},依次考虑数组范围(0-i)中,任意元素开始,以arr[i]结尾的子数组是否符合条件。比如说i=0时,子数组{7}符合条件;i=4时,子数组{3,2,1,1}符合条件。假设遍历到i位置,数组元素从0加到i的值...

2020-03-23 20:55:50 353

原创 字符串中的表达式计算

字符串中的表达式计算思路:如果字符串中没有括号:每遇到一个字符,把它放进栈里(如果是数字字符,需要结合字符串将其转换成数字)。当一个数字进栈之前发现栈顶元素为*或/,则连续弹出两次栈顶,计算该表达式的结果,并把结果放入栈中。这样做保证栈中的元素只有数字、+、-,当字符串遍历完,计算栈中的表达式就行。如果字符串中有括号:设计一个函数int[] value(String str,...

2020-03-23 20:52:45 2172

原创 设计缓存结构

1. 设计缓存结构LRU注:哈希表中,key或value如果存的是简单类型(基本数据类型和String),则哈希表中存的是简单类型的值。如果要往哈希表中添加对象,存的是该对象的地址。思路:先设计一个节点Node<key, value>,(key,value的类型可以使用泛型)根据这个节点设计一个双向链表(由头到尾,优先级由低到高),里面存的是Node节点设计双向链表的几个方法:...

2020-03-23 20:51:23 500

原创 求最大子矩阵的大小(单调栈)

单调栈1. 单调栈的结构背景:给定一个数组,求数组中每一个元素的左边距离其最近的比它小的值,和右边距离其最近的比它小的值。数组:arr:{3,5,4,2,6}arr[i]leftright3null25344322nullnull62null思路:设计一个栈,依次存入的元素大于等于栈顶元素,保持栈中元素从下往上逐渐...

2020-03-23 20:45:15 671

原创 窗口

1. 生成窗口最大值数组题目:有一个整型数组arr和一个大小为w的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。例如,数组为【4,3,5,4,3,3,6,7】,窗口大小为3时:窗口数组   最大值[4 3 5] 4 3 3 6 7 max: 54 [3 5 4] 3 3 6 7 max: 54 3 [5 4 3] 3...

2020-03-23 20:41:59 180

原创 Morris遍历

Morris遍历Morris遍历是二叉树遍历的另一种方式,做到了空间复杂度为O(1),时间复杂度为O(N)。1. Morris遍历的流程当遍历指针cur遍历到某个节点:该节点有左孩子,则判断该节点左子树的最右孩子mostRight的right指针如果最右孩子的right指针为空,说明第一次遍历到该节点,即mostRight.right=null,则令最右孩子的right指针指向自己,...

2020-03-16 16:59:02 172

原创 有关窗口的算法题

1. 生成窗口最大值数组题目:有一个整型数组arr和一个大小为w的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。例如,数组为【4,3,5,4,3,3,6,7】,窗口大小为3时:窗口数组   最大值[4 3 5] 4 3 3 6 7 max: 54 [3 5 4] 3 3 6 7 max: 54 3 [5 4 3] 3...

2020-03-13 02:21:31 355

原创 Manacher

Manacher题目:求一个字符串中最长的回文串的长度。如果将字符串化成数组,每遍历一个元素,都要以其为中心判断回文串的长度,时间复杂度比较大。于是就有了Manacher算法,它和KMP算法一样,都是在暴力解的基础上进行改进。数据处理对于一个长度为奇数回文字符串,按照暴力法能够得出正确结果。但是对于长度为偶数的回文字符串,按暴力解法是不能得出正确结果的。因为长度为偶数的回文字符串的...

2020-03-12 13:42:34 133

原创 BFPRT

BFPRT题目:在一个无序数组中找到一个第K小的数一:背景介绍原文链接: https://segmentfault.com/a/1190000008322873在一堆数中求其前 k 大或前 k 小的问题,简称 TOP-K 问题。而目前解决 TOP-K 问题最有效的算法即是 BFPRT 算法,又称为中位数的中位数算法,该算法由 Blum、Floyd、Pratt、Rivest、Tarjan...

2020-03-12 02:08:28 235

原创 KMP

KMP算法1. KMP算法原理1.1 next[]给定一个数组arr,求它的next[]数组含义:next[i]表示数组arr第i个元素之前的字符串中,最长的公共前缀后缀的长度。注:next[0] = -1 next[1] = 0例子char[] arr = new char[]{'a', 'b', 'a', 'b', 'c', 'a', 'b', 'a', 'b', 'a',...

2020-03-09 20:28:46 187

原创 动态规划

动态规划1. 打印字符串的所有子序列如题,比如有字符串abc,则它的子序列有" ","a","b","c","ac","ab","bc","abc"public class Solution_PrintAllSub { public static void printAllSub(char[] str, int i, String res){ if(i == s...

2020-03-06 20:30:50 338

原创 贪心算法

贪心算法1. 拼接字符串使字典序最小比如:“ab”、“cd”、"ef"三个字符串,拼接的结果可以有多种,但是”abcdef“这个结果才是最小的。1.1 分析:按单个字符串的字典序进行比较:比如a小于b,则a放b前面这种思路是错误的:比如b和ba,字典序肯定是b小,但拼接的时候应该ba放前面,因为结果bab最小两个字符串拼接之后再比较,看谁放前面比较合适:比如a和b,看ab和ba...

2020-03-06 20:29:28 230

原创 前缀树Trie

前缀树Trie1. Trie的结构Trie前缀树主要用于存储字符串,它的查找速度主要和要查找的字符串的长度相关[O(w)]。前缀树的每一个节点都包含三个元素:在该路径上,添加字符串的过程中经过该节点的次数path在该路径上,以该节点结尾的字符串的个数end节点类型的后继数组next[26],数组长度为26(假设字符串只由26个小写英文字母组成)在以上结构中,用路径上的值来表示字符...

2020-03-06 20:28:59 202

原创 并查集

并查集1. 并查集原理与实现原文参考链接:一个非常实用而且精妙的算法-并查集1.1 原理话说在江湖上有很多门派,这些门派相互争夺武林霸主。毕竟是江湖中人,两个人见面一言不合就开干。但是打归打,总是要判断一下是不是自己人,免得误伤。于是乎,分了各种各样的门派,比如说张无忌和岳灵珊俩人要打架,就先看看是不是同一门派的,不是的话那就再开干。要是张无忌和岳灵珊觉得俩人合得来,那就合并门派。而...

2020-03-06 20:28:15 306

原创 哈希&布隆过滤器

哈希1. 设计RandomPool结构380. 常数时间插入、删除和获取随机元素题目:设计一种结构,在该结构中有如下三个功能:insert(key):将某个key加入到该结构,做到不重复加入。delete(key):将原本在结构中的某个key移除。getRandom(): 等概率随机返回结构中的任何一个key。要求: Insert、delete和getRandom方法的时间复杂度都...

2020-03-06 20:26:55 263

原创 二叉树

二叉树1. 遍历二叉树1.1 递归方式递归遍历二叉树非常简单,而且三种遍历方式的代码也非常相同,是因为在这三种方式中,节点被访问的先后顺序是完全一致的。如下图所示如果第一次访问就打印,则为先序遍历如果第二次访问打印,则为中序遍历如果第三次访问打印,则为后序遍历//递归遍历二叉树public class Solution_SearchRecursively { pub...

2020-03-06 20:24:16 218

原创 链表

链表1. 反转单向链表反转单向列表,需要两个辅助指针pre和curpublic class Solution_ReverseList { public static class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } pub...

2020-03-06 20:23:27 167

原创 数组

数组1. 旋转矩阵题目:给定一幅由N × N矩阵表示的图像,其中每个像素的大小为4字节,编写一种方法,将图像旋转90度。不占用额外内存空间能否做到?思路:假设左上角矩阵元素为matrix[a] [b],右下角元素为matrix[c] [d]。根据这两个对角元素,可以将矩阵的外圈进行旋转,matrix[a] [b]的值旋转到matrix[a] [d],matrix[c] [d]上的值...

2020-03-06 20:21:38 308

原创 栈和队列

栈和队列1. 用数组实现栈和队列题目:用数组结构实现固定大小的栈和队列实现栈public class ArrayStack { public Integer[] arr; public Integer index; public ArrayStack(Integer initSize) { if(initSize < 0){ ...

2020-03-06 20:20:58 174

原创 JVM-对象创建过程

2020-03-05 21:13:04 142

原创 JVM-类的加载过程

双亲委派机制

2020-03-05 20:50:23 145

原创 JVM-垃圾收集

垃圾收集器

2020-03-05 00:16:45 162

原创 算法汇总

1. KMPhttps://blog.csdn.net/starstar1992/article/details/54913261?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task2. LRU & LFU & FIFO

2020-02-27 21:47:02 171

原创 布隆过滤器

2020-02-25 16:06:05 126

原创 链表

链表1. 反转单向链表反转单向列表,需要两个辅助指针pre和curpublic class Solution_ReverseList { public static class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } pub...

2020-02-20 00:36:15 135

原创 asp.net core mvc 表单太重

用户列表中,按如下方式写<td> <a asp-action="EditUser" asp-route-id="@user.Id" class="btn btn-primary">编辑</a> <form asp-controller="User" asp-action="DeleteUser" asp-route-id="@user.Id" met...

2019-12-19 16:38:26 242

原创 Springboot9_表单太重

在编写员工列表页面的时候,在每一个员工信息后面都需要添加一个编辑按钮和一个删除按钮使用以下方式书写<td> <a class="btn btn-sm btn-primary" th:href="@{/emp/}+${emp.id}">编辑</a> <form th:action="@{/emp/}+${emp.id}" method="...

2019-12-19 16:21:14 175

原创 ASP.NET Core基础知识-学习笔记

ASP.NET Core基础知识1. 包的安装ASP.NET Core 服务器端——Nuget客户端——NPM(使用Node.js安装)安装完成之后使用node --version,npm --version查看版本号2. 前端工具npm:package.json在项目中创建NPM配置文件package.json,并安装以下三个依赖{ "version": "1...

2019-12-18 21:24:14 606

原创 Asp.net Core Mvc基础-学习笔记

ASP.NET CORE MVC1. 默认配置使用Kestrel Web ServerASP.NET Core内置,跨平台IIS集成UseIIS(),UseIISIntegration()LogIConfiguration接口2. 路由Convertional Routing使用默认的方式builder.MapRoute("Default", "...

2019-12-18 21:20:54 502

转载 dockerfile文件详解

什么是dockerfile?Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。例:docker build -f /path/to...

2019-11-25 22:18:51 157

每日优选.rp

使用Axure建立的一个网上购物超市原型,主要功能有登录注册、浏览商品、购物车、结算、订单、优惠券、在线支付等。

2019-06-27

飞机大战C++源代码-visual studio

使用visual studio 开发,实现了自动发射子弹、获取保护罩、获取强力子弹、生命值显示、关卡设置、无敌模式和普通模式等功能。包含可运行的程序

2019-04-18

Differential Privacy From Theory to Practice

Differential Privacy From Theory to Practice,作者为Ninghui Li Purdue University。总共140页

2019-04-12

黑马Python基础班飞机大战项目(附图片资源)

用python写的一个飞机大战的项目,功能比较简单,就是课上讲的内容,主要是使用机灵组控制敌机和英雄飞机

2019-03-01

空空如也

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

TA关注的人

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