自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录_单调栈

给定一个整数数组,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。单调栈.

2025-04-08 17:50:24 907 1

原创 代码随想录_动态规划

1049. 最后一块石头的重量 II有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且x <= y。如果x == y,那么两块石头都会被完全粉碎;如果x!= y,那么重量为x的石头将会完全粉碎,而重量为y的石头新重量为y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就返回0。

2025-03-20 21:32:35 1166

原创 代码随想录_贪心

不能外层for遍历s, 内层if遍历g, 因为外层一直在递减, 内层不一定会减, 如果外层的饼干最大值满足不了最大的胃口, 那么整个for都满足不了, 最终返回0. 但是如果外层的胃口不能被当前的饼干满足, 更小的胃也许可以,(如果从前往后很可能后面的改为递增以后前面的成递减的了,因为改变后的数值不能大于起始数值, 如果从后往前可以用9保证>=) 遍历数字的每一位, 如果前一位>后一位, 前一位-1,后一位开始改为9。贪心, 保持sum >= 0, 使其可以递增, 用res记录sum的最大值。

2025-03-06 22:11:26 695

原创 代码随想录_回溯

给定两个整数n和k,返回范围[1, n]中所有可能的k个数的组合。你可以按返回答案。回溯优化: 剪枝注意代码中i,就是for循环里选择的起始位置。为什么有个+1呢,因为包括起始位置,我们要是一个左闭的集合。举个例子,n = 4,k = 3, 目前已经选取的元素为0(path.size为0),n - (k - 0) + 1 即 4 - ( 3 - 0) + 1 = 2。从2开始搜索都是合理的,可以是组合[2, 3, 4]。组合位数够多的可以截断, 不再进行递归, 组合位数不足的直接剪枝。

2025-02-22 21:51:27 745

原创 代码随想录_二叉树

589. N 叉树的前序遍历590. N 叉树的后序遍历二叉树的迭代遍历前序遍历后序遍历中序遍历注: while(cur != null || !stack.isEmpty())要统一push, 在while里push如果只有!stack.isEmpty(), 那一开始栈空, 不会进入循环, 且由于进入栈中的不一定是要处理的元素, 可能出现pop后栈空了, 但是cur右孩子还能进栈的情况102. 二叉树的层序遍历给你二叉树的根节点 ,返回其节点值的 层序遍历 。 (即逐层地,从左到

2025-02-09 21:47:55 1203

原创 Java8_StreamAPI

StreamAPI 讲解及使用详细记录

2025-01-30 22:48:45 901

原创 代码随想录_栈与队列

快指针指向原字符串要处理的字符, 慢指针指向新的字符串, 当新字符串出现相邻相等的情况, 则将两个同时排除, 回退到第一次出现该字符的位置, 继续遍历原字符串的下一个字符, 否则, 快慢指针同时往前走.给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。给定逆波兰表达式总是有效的。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串,判断字符串是否有效。用字符串模拟栈(也可以直接用栈, 需要再转为字符串)进行"消消乐", 留下的就是最终的字符串。

2025-01-30 22:42:02 990

原创 代码随想录_字符串

字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。kmp求next数组, 求到len + 1的位置, 求出整个串的最长公共前后缀, 原串减去公共前后缀剩下的就是最小重复子字符串。**思路: ** 步长为2k进行循环, 每次循环内对: 2k的前k个 或 不足2k的剩余所有, 进行反转。双指针, 先计算新数组的大小, 将原数组复制到新数组后, 从后往前开始替换。

2025-01-21 23:04:23 1112

原创 代码随想录_哈希表

给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0?**思路: ** 双指针, 数组有序后, left指向i + 1, right指向nums.length - 1。**思路: ** map哈希表, 四个数组两两组合, 变为两个数组的判断, 思路同1。满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]给定数组 nums = [-1, 0, 1, 2, -1, -4],答案中不可以包含重复的三元组。

2025-01-15 18:49:41 645

原创 代码随想录_链表

题意:删除链表中等于给定值 val 的所有节点。示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]示例 2: 输入:head = [], val = 1 输出:[]示例 3: 输入:head = [7,7,7,7], val = 7 输出:[]

2025-01-12 22:24:27 973

原创 代码随想录_数组

给你一个非负整数x,计算并返回x的。由于返回类型是整数,结果只保留,小数部分将被x ** 0.5OOOO。

2024-11-30 10:23:20 1059

原创 RabbitMQ高级

每个只能配置一个,因此我们可以在配置类中统一设置。我们在publisher模块定义一个配置类:@Slf4j@Overridelog.error("触发return callback,");});由于每个消息发送时的处理逻辑不一定相同,因此ConfirmCallback需要在每次发消息时定义。具体来说,是在调用RabbitTemplate中的convertAndSend方法时,多传递一个参数:id:消息的唯一标示,MQ对不同的消息的回执以此做判断,避免混淆。

2024-11-26 10:57:09 1679 1

原创 RabbitMQ基础

多个消费者绑定到一个队列,同一条消息只会被一个消费者处理通过设置prefetch来控制消费者预取的消息数量交换机的作用是什么?接收publisher发送的消息将消息按照规则路由到与之绑定的队列不能缓存消息,路由失败,消息丢失FanoutExchange的会将消息路由到每个绑定的队列描述下Direct交换机与Fanout交换机的差异?Fanout交换机将消息路由给每一个与之绑定的队列Direct交换机根据RoutingKey判断路由给哪个队列。

2024-11-26 10:48:19 1202

原创 服务保护和分布式事务

Sentinel是阿里巴巴开源的一款服务保护框架,目前已经加入SpringCloudAlibaba中。核心库(Jar包):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。在项目中引入依赖即可实现服务限流、隔离、熔断等功能。控制台(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。为了方便监控微服务,我们先把Sentinel的控制台搭建出来。1)下载jar包。

2024-11-24 10:29:34 869

原创 微服务02

Component@Override// 编写过滤器逻辑System.out.println("未登录,无法访问");// 放行// 拦截@Override// 过滤器执行顺序,值越小,优先级越高return 0;

2024-11-24 10:26:10 1072

原创 微服务01

什么时候需要拆分微服务?如果是创业型公司,最好先用单体架构快速迭代开发,验证市场运作模型,快速试错。当业务跑通以后,随着业务规模扩大、人员规模增加,再考虑拆分微服务。如果是大型企业,有充足的资源,可以在项目开始之初就搭建微服务架构。如何拆分?首先要做到高内聚、低耦合从拆分方式来说,有横向拆分和纵向拆分两种。纵向就是按照业务功能模块,横向则是拆分通用性业务,提高复用性服务拆分之后,不可避免的会出现跨微服务的业务,此时微服务之间就需要进行远程调用。微服务之间的远程调用被称为RPC,即远程过程调用。

2024-11-14 23:39:14 1201 2

原创 Docker

Docker官方提供了一个专门管理、存储镜像的网站,并对外开放了镜像上传、下载的权利。Docker官方提供了一些基础镜像,然后各大软件公司又在基础镜像基础上,制作了自家软件的镜像,全部都存放在这个网站。基本上我们常用的各种软件都能在这个网站上找到,我们甚至可以自己制作镜像上传上去。像这种提供存储、管理Docker镜像的服务器,被称为DockerRegistry,可以翻译为镜像仓库。DockerHub网站是官方仓库,阿里云、华为云会提供一些第三方仓库,我们也可以自己搭建私有的镜像仓库。

2024-11-14 22:20:25 1435

原创 Redis实战篇

缓存穿透产生的原因是什么?

2024-09-27 20:24:05 1301

原创 Redis基础篇

Redis基础篇笔记

2024-09-27 20:20:00 1182

原创 嵌套类问题的递归解题套路

嵌套类问题的递归解题套路

2024-09-17 09:03:06 957

原创 常见经典递归过程解析

时间复杂度: 最差即所有数字都不重复, 无法进行剪枝, 每一个数都分为 加入 和 不加入, 共O(2^n) 每个path长度平均为O(n), 共 O(2^n * n)测试链接 : https://leetcode.cn/problems/permutations-ii/测试链接 : https://leetcode.cn/problems/permutations/测试链接 : https://leetcode.cn/problems/subsets-ii/时间复杂度: 全排列 O(n!

2024-09-17 09:01:46 512

原创 Linux-Shell

shell编程快速入门

2024-09-05 21:42:02 2003

原创 二叉树高频题目-下-不含树型dp

二叉树高频题目-下-不含树型dp

2024-09-02 21:27:08 1038

原创 Linux(CentOS 7)

Linux是一个操作系统(OS)VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜 色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。基本上 vi/vim 共分为三种模式,分别是一般模式,编辑模式和命令模式。

2024-08-31 17:10:46 3229

原创 二叉树高频题目-上-不含树型dp

二叉树高频题目-上-不含树型dp详解

2024-08-27 21:13:47 1100

原创 数据结构设计高频题

数据结构设计高频题

2024-08-17 22:07:15 754 1

原创 链表高频题目和必备技巧

链表高频题目和必备技巧

2024-08-12 12:50:52 531

原创 位运算实现加减乘除

利用位运算实现加减乘除

2024-08-09 12:39:26 196

原创 位图

位图的原理,实现及相关题目讲解

2024-08-08 21:25:01 456

原创 位运算相关题目

位运算相关题目详解,附带测试链接

2024-08-08 21:22:53 722

原创 异或运算

异或运算的性质及相关题目

2024-08-07 22:04:35 908

原创 重要排序算法的总结

排序算法时间复杂度,空间复杂度,稳定性汇总

2024-08-07 22:01:48 307

原创 基数排序

基数排序详细代码

2024-08-07 21:58:03 1057

原创 堆结构常见题

堆结构常见题: 合并k个有序链表 最多线段重合问题 将数组减半的最少操作次数

2024-08-07 08:58:18 1046

原创 MyBatis-Plus

kiddkid的mp笔记

2024-07-27 23:19:48 401

原创 归并分治_翻转对

归并算法应用之翻转对问题

2024-07-27 23:07:05 235

原创 归并分治_小和问题

归并分治的简单使用之小和问题

2024-07-27 09:51:09 366

原创 SpringBoot

kiddkid的SpringBoot笔记

2024-07-24 20:50:24 5195

原创 kiddkid的SSM笔记

kiddkid的SSM笔记,涵盖mybatis,spring,springMVC

2024-07-17 21:15:24 962

原创 kiddkid的javaweb后端笔记

一篇来自kiddkid的javaweb后端笔记

2024-05-01 23:48:54 883

空空如也

空空如也

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

TA关注的人

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