Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 跨进程通信

Android跨进程通信

2022-07-08 00:28:20 949 1

原创 Android事件分发机制

Android事件分发机制

2022-06-26 23:16:34 131

原创 Handler内存泄露

Android 多线程知识

2022-06-26 23:15:55 203

原创 最小生成树【kruskal、prim】

例题: AcWing 859、kruskal1、kruskal思想:将边从小到大排序,每次判断这条边的两个节点是否已经联通,如果没有联通的话就把这条边加入。import java.util.*;public class Main{ static int par[]; static int find(int x){ int root=x; //找到x的祖父节点【最上面的节点】 while(root!=par[root]) root=pa

2022-05-19 17:27:22 111

原创 最短路径算法【dijkstra、floyd、bellmen-ford、spfa】

1、dijkstradijkstra处理不了负权图。因为如果源点到终点距离比较短,但是有另外一条距离(一开始距离较长)由于有负权路,导致最后到终点距离反而更短,从而导致错误。如 A->C【5】 A->B【6】->C【-2】,会先选择A->C的路径,但是实际最短路是A->B->C。...

2022-05-18 17:45:42 127

原创 数据库知识点

为什么大字段IO效率低:第一是由于数据量本身大,需要更长的读取时间;第二是跨页,页是数据库存储单位,很多查找及定位操作都是以页为单位,单页内的数据行越多数据库整体性能越好,而大字段占用空间大,单页内存储行数少,因此IO效率较低。第三,数据库以行为单位将数据加载到内存中,这样表中字段长度较短且访问频率较高,内存能加载更多的数据,命中率更高,减少了磁盘IO,从而提升了数据库性能。

2022-04-15 10:00:30 2557

原创 Spring源码解析

一、IOC过程第一步:xml配置文件第二步:使用工厂类第三步:通过反射创建类二、IOC接口1.BeanFactory:IOC基本实现,Spring内部使用,不提供给开发人员使用。加载配置文件时不创建对象2.ApplicationContext:BeanFactory的子接口,功能更强大,加载配置文件随便创建对象三、管理Bean对象1.DI:依赖注入,配置属性(1)通过set方法注入(通过在xml bean标签配置property属性,也是通过set方法注入的)(2)通过构造器注入(通过在

2022-04-10 21:58:55 2332

原创 判断推理知识点

【学习知识点】真假推理1、矛盾关系① A和-A②A∩B和-A或-B③A→B和A∩-B④“有的是”与“所有不是”“有的不是”与“所有是”2、反对关系①“所有都是”和“所有都不是”(必有一假,可以同假)②“有的是”和“有的不是”(必有一真,可以同真)【题目特点】题干中论述有真有假,且真假未知。【常见的坑】①对于一些不明显的矛盾关系标志词不敏感,例如“有的是”和“凡…都是”②“都是”意味着“∩”且二者是且关系;【做题技巧】①找到解题突破口的两个关系:先找矛盾关系,找不到矛盾关系,再找

2021-11-15 17:14:48 2477

原创 数组里三个数出现一次,其它数出现两次,找出这三个数

数组里三个数出现一次,其它数出现两次,找出这三个数目的:把二进制n的最后一位找出来。求出三个数的异或得X,X^a , X^b, X^c都不为0,。设一个函数f(n)表示保留二进制n的最后一位1,其它位置0f(X^a) ^ f(X^b) ^ f(X^c)至少有一位为1,假如最后一位为1的m位。那么 X^a , X^b, X^c中第m位的至少有1个或3个。但是不可能为3个。反证法:X^a , X^b, X^c都不为0,则a,b,c在第m位都相同,x与a,b,c相反。若a为0,则x=a ^ b ^

2021-09-25 17:04:24 396

原创 操作系统知识点

操作系统1、进程和线程的区别2、协程3、进程间通信方式IPC1、进程和线程的区别进程:是资源分配的最小单位,是程序的执行过程,一个进程可以有多个线程,多个线程共享进程的堆和方法区资源,但每个线程又有自己的虚拟机栈,本地方法栈,程序计数器线程:是任务调度和执行的最小单位,线程间可能存在相互影响,执行开销较小,不利于资源的管理和保护,线程间是共享进程中的资源的。2、协程是一种比线程更加轻量级的存在,一个线程可以有多个协程。3、进程间通信方式IPC参考:https://www.jianshu.com

2021-08-30 10:53:16 230

原创 计网知识点

计网三次握手,四次挥手三次握手,四次挥手(1)序号(sequence number):Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。(2)确认号(acknowledgement number):Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。(3)标志位(Flags):共6个,即URG、ACK、PSH、RST、SYN、FIN等。具体含义如下:URG:紧急指针(urgent pointer)有效。ACK:确认

2021-08-29 16:07:17 750

原创 谷粒商城-高级篇

谷粒商城上架商品新的改变上架商品上架商品:为了让前台可以看到商品,购买商品。查询商品:前台查询商品主要是从es查询到的。后台上架商品主要是传入一个spuId,通过这个spuId去查询sku相关信息,再将所有的商品上架1、查出当前spuId对应的所有sku信息,品牌的名字2、封装每个sku的信息(1、发送远程调用,库存系统查询是否有库存2、热度评分。03、查询品牌和分类的名字信息4、查出当前sku的所有可以被用来检索的规格属性)3、将数据发给es进行保存:gulimall-search

2021-08-28 16:11:02 2106

原创 吃葡萄(牛客)

吃葡萄有三种葡萄,每种分别有a,b,c颗。有三个人,第一个人只吃第1,2种葡萄,第二个人只吃第2,3种葡萄,第三个人只吃第1,3种葡萄。适当安排三个人使得吃完所有的葡萄,并且且三个人中吃的最多的那个人吃得尽量少。对于每组数据,输出一行一个数字表示三个人中吃的最多的那个人吃的数量。想要吃的最多的人吃的最少,就要想办法平分,使得每个人吃的数量差不多。这里我们可以把三种葡萄看做三条线段,每一种的颗数看成每条线段的长度,这样三条线段就可以组成几何图形,我们想要的就是平分这个几何图形的周长。线段a,b,c

2021-08-10 11:39:48 434

原创 743. 网络延迟时间(Dijkstra算法)

Dijkstra算法public int networkDelayTime(int[][] times, int n, int k) { int max=Integer.MAX_VALUE/2; int[][] g=new int[n][n]; for(int i=0;i<n;i++) Arrays.fill(g[i],max); int[] dist=new int[n]; Arrays.fi

2021-08-02 22:58:50 167

原创 剑指 Offer 19. 正则表达式匹配

请实现一个函数用来匹配包含’. ‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但与"aa.a"和"ab*a"均不匹配。s串和p串比较是否匹配,可以通过逐次比较每个字符是否相等,因此可以通过动态规划记录比较的结果。动态规划设f[n][m]为S的前n个字符和P的前m个字符的匹配结果字符串Sn的长度为n,字符串Pm的长度为m1、如果pm-

2021-07-31 10:48:52 67

原创 异步编排CompletableFuture

异步编排使用CompletableFuture执行方法runAsync()返回空值 supplyAsync()返回结果handle() 感知异常并且能返回结果thenRunAsync()方法 不接受上一步结果执行,不返回结果thenAcceptAsync()方法 接受上一步结果,但不返回结果thenApplyAsync()方法 接受上一步结果,返回结果runAfterBothAsync()不接受结果,不返回结果thenAcceptBothAsync()接受结果,不返回结果thenCombine

2021-07-25 00:02:51 575

原创 ElasticSearch

ES检索1、Java操作ES2、构建ES查询语句1、Java操作ES配置ES@Configurationpublic class GulimallElasticSearchConfig { public static final RequestOptions COMMON_OPTIONS; //RequestOptions可以配置一些请求头的,这里不设置 static { RequestOptions.Builder builder = RequestOpti

2021-07-24 22:48:20 289

原创 Redis缓存、Redis分布式锁

1、加菜单进Redis缓存@Override public Map<String,List<Catelog2Vo>> listTest() { //从缓存查询数据 String category = stringRedisTemplate.opsForValue().get("category"); if(StringUtils.isEmpty(category)) { System.out.println(

2021-07-17 16:19:40 597

原创 es设置远程分词器

远程可以去nginx上配置,nginx上找资源默认去nginx/html上找在es配置上设置<entry key="remote_ext_dict"></entry>

2021-07-11 19:33:43 335

原创 网关配置跨域问题

网关配置跨域问题@Bean public CorsWebFilter corsWebFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration corsConfiguration = new CorsConfiguration(); //1、配置跨域 corsConfigur

2021-07-11 11:44:56 225

原创 Manacher(马拉车)

Manacher:在时间复杂度为O(n)求一段字符串的最长回文串的长度。先了解几个概念:最右回文子串即回文子串的右边界最右的子串。以下最长子串 即表示 最右回文子串并且我们需要一个辅助数组 f [ ] ,f [ i ]表示以 i 为中心的回文串的长度那么接下来,我们就要用已知的 f [ j ] 求 f [ i ]。那么接下来 我们就可以利用最长的回文串作利用信息。分为几个情况;(...

2020-05-08 14:03:13 130

原创 Leetcode.LCP 15. 游乐园的迷宫 构造

题目:https://leetcode-cn.com/problems/you-le-yuan-de-mi-gong/题目概述:要求按给定的LR方向走完全部的点。题目给定方向只有"LR",那么我们可以构造一种方法:如果下一步是“L”,那么我们可以选择最右边的点,这样最右边的点下一步肯定是向左走。相应的,下一步是“R”,那么我们可以选择最左边的点,这样最左边的点下一步肯定是向右走。计算叉积...

2020-05-02 13:31:46 254

原创 Leetcode .LCP 04. 覆盖 状态压缩dp

题目:https://leetcode-cn.com/problems/broken-board-dominoes/题目概述:要求铺的骨牌数最多状态转移:当前状态=max(前一状态+横铺的数量+竖铺的数量)dp[i][state]表示第i行状态为state可以铺的最多数量。例如:dp[0][0000]=2表示 第0行 状态为0000 时可以铺的数量为2。class Solution {...

2020-05-02 13:18:14 461

原创 Leetcode.315. 计算右侧小于当前元素的个数 归并排序(分治)

题目:https://leetcode-cn.com/problems/count-of-smaller-numbers-after-self/题目要求的就是关于当前元素大于右边元素,比如:5 3 2 4 对于5来说,3 2 4都是可以与5组成逆序对,其实就是求逆序数。逆序数:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数...

2020-03-28 16:49:28 396

原创 LeetCode.820. 单词的压缩编码

题目:https://leetcode-cn.com/problems/short-encoding-of-words/我们发现如果X单词是Y单词的后缀,那么X单词就被包含在Y单词里面,这样就不用考虑X单词了。那么我们要做的就是看那些是后缀了,我们就用到字典树。我们将单词反转放进树中,“time”,“me” 将其变成“emit”,“em”这样放进树中,在树的深度较低时,它就是后缀,到树的...

2020-03-20 16:09:06 193

原创 LeetCode.218 优先队列+排序

题目:https://leetcode-cn.com/problems/the-skyline-problem/题目要我们求轮廓,其实就是高的盖住矮的,然后记录那些转折点。对于每一个建筑物,我们要记录其开始点,结束点,以便知道它什么时候没了。我们的思路就是:记录当前的最高点,如果它还在(结束点还没到),它就可以继续遮住那些矮(不需要统计),直到结束点到了,我们就把它删掉。 对于这一步骤我们可...

2020-03-19 21:46:53 149

原创 链表前向星存储图

一般给出a,b节点,权值为w,我们可以创建结构体存储cnt全局变量,存储的是边的序号。head[ ]数组保存的是边的序号,e[ ].nex存储的是下一条边的序号比如:1为根节点,2,3,4为子节点。那么1,2为边的话,e[1].nex=0,head[1]=1;1,3为边的话,e[2].nex=1,head[1]=2;1,4为边的话,e[3].nex=2,head[1]=3;所以当我们...

2020-03-03 21:59:30 253

原创 动态规划之树型dp

树形Dp计算树上的dp,就是在树的结构上运用dp思想。而树形dp大多用的是递归,因为对于树的节点,深度复杂,不太能用for循环去枚举状态。https://www.luogu.com.cn/problem/P1352一道树型dp模板题,简单了解树型dp。题目就是上司和员工这样一层一层的树型结构。我们可以选择上司,放弃员工,也可以选择员工,放弃上司。这样我们就可以用dp[i][0/1]表示...

2020-02-29 23:28:45 139

原创 动态规划之数位dp

数位dp,字面意思理解就是在数字的每一位上面去dp,动态规划一般有两种:递推,记忆化搜索(dfs)。这里就是用的记忆化。一般这种用在计数上面,对那些数位上面有限制的计数。这里上一道模板题:http://acm.hdu.edu.cn/showproblem.php?pid=3555题中就是要你统计1—N里没有“49”的个数。dp[pos][sta]表示到第pos位,状态为sta的总数。我们...

2020-02-24 22:16:20 163

原创 Leetcode 488. 祖玛游戏 DFS

題目 https://leetcode-cn.com/problems/zuma-game/这题根据题目我们可知,就是消去连着的球,然后剩下的球再就是一样的处理,最后消完后再去比较最小值这是一道DFS题目,为什么用DFS呢? 因为我们可以去遍历board字符串,去看下哪些球缺多少个相同的球,然后再用我们手里的球去填充。至于手里的球hand,我们可以用Map去存下每种球有多少个。对于这道题来...

2020-02-23 18:22:22 358

原创 Leetcode.126. 单词接龙 II 双bfs+dfs

双BFS+DFS题目https://leetcode-cn.com/problems/word-ladder-ii/一开始的想法可以像单词接龙I一样双bfs就行了,就是每次记录的是一个链表,每次判断就取最后一个单词,但是那样的话就要遍历另一个的所有,太慢了。于是我们就用双bfs先保存每个单词的下一层单词们,这样的话我们就不用遍历这个序列了,只要直接从beginWord开始用dfs往下遍历,到...

2020-02-22 15:08:59 210

原创 动态规划之斜率优化

其实斜率优化也是用的单调队列来的。一般的例如: dp[ i ]=min( dp[ j ] + f(j)) ( i-k< j < i ) 我们可以用单调队列来优化,因为变量只有j。 而如dp[ i ]=min(dp[ j ]+ f ( i ) * f ( j ) )的话,i和j在一起的了,就不能单调队列优化了。先上一道斜率优化模板题https://www.luogu.com.cn/...

2020-02-21 19:37:52 388

原创 动态规划之单调队列优化

先上一道单调队列动态规划的模板题 琪露诺这道题很明显是一道dp题,可以通过两个for循环就能得到结果,但是N,L,R太大了,两层for循环就超时了,所以我们得用单调队列来优化。动态规划一般类如dp[ i ]=min( dp[ j ] + f(j)) (0 < j < i ),因为j是从0开始的,使用我们可以用一个变量记录dp[ j ] + f(j)的最小值而****dp[ ...

2020-02-21 16:34:31 368

空空如也

空空如也

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

TA关注的人

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