- 博客(154)
- 资源 (1)
- 收藏
- 关注
原创 LeetCode - LCR 146- 螺旋遍历二维数组
*题解思路:**这道题和力扣54题一样题解见https://blog.csdn.net/Miss_croal/article/details/141180630?spm=1001.2014.3001.5502,唯一不一样的就是边界,这个会有 0 的情况,所以一定要把判断放到最前面!提取元素,然后再进入内部一层重复相同的步骤,直到提取完所有元素。:从左上角开始,按照。
2024-08-16 08:25:09
232
1
原创 LeetCode - 59 - 螺旋矩阵Ⅱ
题解思路:模拟题。需要模拟顺时针转圈的逻辑,重点是对上下左右边界的处理,定义好最边的值要不要读取是关键。所有元素,且元素按顺时针顺序螺旋排列的。
2024-08-16 08:20:36
241
原创 LeetCode - 54 - 螺旋矩阵
54题和59题 螺旋矩阵Ⅱ 有些微区别,59是n×n的方形矩阵,但是54需要考虑行和列不相等的情况,行>列 和列 >行都是需要考虑进去的,因此需要选择短边来表示顺时针添加的圈数。,返回矩阵中的所有元素。
2024-08-14 08:51:41
224
原创 LeetCode - 209 - 长度最小的子数组
使用滑动窗口的方法实现,用一个指针寻找终止位置,然后通过 sum>= target来更新起始位置,从而达到降低复杂度的目的。,并返回其长度**。**如果不存在符合条件的子数组,返回。**题解思路:**力扣上暴力搜索会超时!找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。题目描述:长度最小的子数组。
2024-08-12 23:12:51
290
原创 LeetCode- 977 - 有序数组的平方
方法二:可以用双指针,从两头开始找,两个下标的元素谁大就先写谁的,倒着填入res[]中。方法一:也是比较容易想到的,遍历nums[],再用工具类直接排序后返回;组成的新数组,要求也按。
2024-08-07 13:38:42
231
原创 LeetCode- 27 - 移除元素
*题解思路:**使用双指针。前面一个指针指向数组的起点,负责判断是否等于val;后面一个指针在数组的最后。 当起点的指针等于val,交换 i 和 j 位置的元素。元素的顺序可能发生改变。
2024-08-07 13:04:04
265
原创 LeetCode- 367 - 有效的完全平方数
① 数学法:根据完全平方数的特性,完全平方数符合 n=1+3+5+···+(2n-1),不断相减直至为0,说明是完全平方数;② 二分法:需要注意的是类型转换,当mid很大时相乘可能会超过int类型的最大值,因此用 long 来存放。是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。不能使用任何内置的库函数,如。是一个完全平方数,则返回。
2024-08-06 08:28:50
145
原创 LeetCode-35 - 在排序数组中查找元素的第一个和最后一个位置
题目描述:在排序数组中查找元素的第一个和最后一个位置。总结:可以先用二分查找找到一个下标,再寻找左右边界。请你找出给定目标值在数组中的开始位置和结束位置。给你一个按照非递减顺序排列的整数数组。你必须设计并实现时间复杂度为。如果数组中不存在目标值。
2024-08-01 08:29:25
278
原创 LeetCode- 34 - 搜索插入位置
4.要插入在中间的某个位置,此时已更新到最小的区间,即比target小的值的位置,return right+1,因为此时left又被更新了一次,变成mid+1。给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。2.要插入的元素比最大的值大,即 return right+1。1.要插入的元素比最小的值小,即 return left。3.目标值=某个值,return mid。请必须使用时间复杂度为。题目描述:搜索插入位置。
2024-07-31 08:28:05
376
原创 LeetCode -704 - 二分查找
*题解思路:**左闭右闭的二分查找算法,不断更新左右区间即可。,如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。
2024-07-31 07:47:01
419
原创 LeetCode-25 -两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
2024-07-24 08:38:43
335
1
原创 Vim编辑器的安装及使用教程
vim是类Unix系统内置文本编辑器,其他文本编辑器不一定存在;vim具有程序编程能力;程序简单,编辑速度快。打开一个终端,在搜索栏输入`terminal`点击第一个,此时会打开一个新的窗口,输入`vim`后回车,如果出现欢迎的界面,说明安装成功!输入`:q`退出。
2024-04-22 21:27:08
1316
原创 MySQL下载与安装
# 1:MySQL下载与安装1. 打开MySQL官网,[MySQL 下载链接](https://dev.mysql.com/downloads/mysql/)2. 选择合适的版本和操作系统,页面跳转之后选择`No thanks, just start my download.`等待下载即可。
2024-04-21 16:27:22
591
原创 jdk1.8安装步骤及环境配置
【代码】jdk1.8安装步骤及环境配置。在Oracle官网下载jdk1.8,[下载链接](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html) ,如果之前没有注册过还需要注册。下载好之后会得到如下的图标,
2024-03-09 11:56:42
504
原创 Visio给立方体的每条边填充不同的颜色,超好用的visio小技巧~
如何实现立方体的填充颜色从左边的纯色到右边的多色呢?1.先在visio中绘制一个普通的立方体;2.用一个大的矩形盖住刚才绘制的立方体;
2023-11-23 10:12:21
2399
原创 LeetCode-101-对称二叉树
解题思路:判断2个二叉树是否可以相互翻转,考察同时处理2个二叉树的遍历情况。给你一个二叉树的根节点 root , 检查它是否轴对称。
2023-10-11 12:20:47
241
原创 LeetCode-226-翻转二叉树
给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。解题思路:先想清楚用哪种遍历顺序:前序和后序更好一点。
2023-10-11 11:59:09
200
原创 LeetCode-107-二叉树的层序遍历Ⅱ
给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历。(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)完全一样,只是最后一句每次都查到最前面.
2023-10-11 11:13:49
108
原创 LeetCode-102-二叉树的层序遍历
给你二叉树的根节点 root ,返回其节点值的 层序遍历。(即逐层地,从左到右访问所有节点)。的特点存储每次遍历的节点。
2023-10-11 11:02:57
129
原创 二叉树理论基础
如 i 位置的左孩子的值就是下标为 i×2+1 位置对应的元素的值,右孩子的值就是下标为 i×2+2 位置对应的元素的值.顺序存储通过数组来记录左右节点,通过索引可以得到左右节点。链式存储通过添加一对指针的方式来记录各左右节点。二叉树可以链式存储,也可以顺序存储。理论基础决定基本功。
2023-10-11 10:12:41
62
原创 LeetCode-503-下一个更大元素Ⅱ
给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素。数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。解题思路:通过超过下标就取模的思路,其他和。
2023-10-09 21:14:01
223
原创 LeetCode-496-下一个更大元素
> 方法二代码实现:> 1. 先将nums1中的元素和下标都映射到map中,方便遍历nums2的时候查找> 2. 开始遍历nums2,存放的是下标,初始时将0放到stack中,开始判断栈口元素和当前元素的大小> - 若 栈口元素 < 当前元素的大小,再判断栈是否为空,并且map中是否包含栈顶元素下标对应的索引,都有的话再更新res数组;> - 若 栈口元素 = 当前元素的大小,直接入栈> - 若 栈口元素 > 当前元素的大小,直接入栈
2023-10-09 20:36:46
205
原创 LeetCode-2485-找出中枢整数
返回中枢整数 x。如果不存在中枢整数,则返回 -1。题目保证对于给定的输入,至多存在一个中枢整数。方法一:双指针:一前一后走,当sumLeft == sumRight并且i==j时退出while循环。1 和 x 之间的所有元素之和等于 x 和 n 之间所有元素之和。方法二:根据数学公式推导。
2023-10-09 19:39:51
253
原创 LeetCode-416-分割等和子集
可以看成有nums.length个物品,是否能装满容量是 sum/2 的背包,能装满说明可以,返回true;否则返回false。给你一个 只包含正整数 的 非空 数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。解题思路:可以看成是背包问题,
2023-10-09 18:51:14
150
原创 LeetCode-11-盛最多水的容器
给定一个长度为 n 的整数数组 height。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。解题思路:可以使用双指针或者单调栈。返回容器可以储存的最大水量。说明:你不能倾斜容器。
2023-10-09 17:48:27
112
原创 LeetCode-96-不同的二叉搜索树
给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。解题思路:首先知道什么是二叉搜索树?
2023-10-09 10:38:22
122
原创 LeetCode-343-整数拆分
给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。返回 你可以获得的最大乘积。还是根据动规五部曲,列出思路。
2023-10-09 10:05:10
83
原创 Nginx快速入门
session,中间件,加一层,代理服务器,能自动关联,即具有反向代理和负载均衡的特点。架构的核心精髓:没有什么是加一层解决不了的问题!反向代理:希望有一个服务器能帮我们转发和控制后面其他服务器的请求,自动的交个它们处理。负载均衡高性能:响应和并发更快,并发更高Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
2023-09-28 14:53:01
136
原创 超全超详细的Redis笔记-数据类型及其使用、主从复制、哨兵模式、缓存穿透、击穿、雪崩
以下为发展历程~单机MySQL年代!90年代,单个数据库完全足够!那个时候都是静态网页,Html~,服务器没有太大压力!思考:整个网站的瓶颈是什么?数据量太大,一个机器放不下!数据的索引(B+树),一个机器内存放不下访问量(读写混合),一个服务器承受不了只要开始出现以上的三种情况之一,那么就必须升级!Memcached (缓存) + MySQL + 垂直拆分(读写分离)网站 80% 都是在读!每次去查数据库很麻烦,为了减轻数据库的压力,我们希望使用缓存来保证效率!
2023-09-27 14:18:45
409
原创 IDEA设置注释快捷键进行 注释对齐
相信大家在使用IDE写代码的时候,经常用到 Ctrl + / 来注释代码吧,但是默认的是将注释在行首对齐,看着很让人不舒服。但是下面的操作会将注释会和当前代码对齐,还会自动保留一个空格,真的很贴心呢~阅读起来也让人心情好了呢。,按照下图所写设置即可,btw,其他语言设置也是一样的哈,比如 xml。给大家推荐一个嘎嘎好用的功能~
2023-09-24 16:06:43
999
2
原创 LeetCode-739-每日温度-单调栈
每次拿当前正在遍历的 temperatures[i] 和 栈口的元素比较,如果 temperatures[i] >栈口元素,那么计算当前两个索引的距离存到结果数组中后再弹出栈顶元素,继续比较当前栈顶的元素,直到栈顶元素比 temperatures[i] 大,将 i 压入栈,继续上述步骤。题目描述:给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。
2023-09-19 22:01:07
307
原创 IPV4和IPV6,公网IP和私有IP有什么区别?
网际协议版本4(英语:Internet Protocol version 4,IPv4),又称互联网通信协议第四版,是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署的版本。
2023-09-19 12:59:48
4195
1
原创 Java集合总结
注意:Collection是一个接口,Collections是一个工具类,Map不是Collection的子接口。(Java5新增的队列),因此Java集合大致也可分成List、Set、Queue、Map四种接口体系。派生出来的,具体的结构如下图,绿色的是集合体系中常用的实现类;Java集合类是从两个根接口。
2023-09-18 09:54:17
124
中国遥感卫星详细参数信息
2022-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人