自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 第十八题:四数之和

首先对数组进行排序,然后遍历数组,对于每一个元素,设定一个新的目标值为原目标值减去这个元素的值,再利用三数之和的解法找到剩下的三个数。为了避免重复,在遍历过程中需要跳过与前一元素相同的元素。给定一个包含 n 个整数的数组 nums 和一个目标值 target,找出 nums 中的四个整数,使得它们的和等于 target。你可以假设每个输入都只有一个解决方案,并且不能使用同一个元素多次。时间复杂度为 O(n^3),其中 n 是数组中的元素数量。空间复杂度主要取决于结果列表的空间需求,最坏情况下为 O(n)。

2024-09-07 08:52:39 546

原创 第十七题:电话号码的字母组合

O(4^n * n),其中n是输入字符串的长度。因为最多会有4个选项('7’和’9’有4个选项,其他数字有3个选项),并且对于每一个组合,我们都需要额外的时间来构造这个字符串。使用哈希表或数组存储每个数字对应的字符,然后通过递归或迭代的方式生成所有可能的组合。如果字符串长度为n,则可以看作是n层循环,每层循环可以选择对应数字的所有字符之一。给定一个仅包含数字 2-9 的字符串,返回所有可能的由它组成的字母组合。你可以假设输入字符串至少包含一个数字,并且不超过3位数字。

2024-09-07 08:49:03 579

原创 第十六题:最接近的三数之和

找出 nums 中的三个整数,使得它们的和与 target 最接近。先对数组进行排序,然后遍历数组中的每个元素作为三元组的第一个元素,对于每个元素使用双指针法在剩下的数组中寻找另外两个数,使得三者之和最接近目标值。为了避免重复计算,可以跳过重复的元素。时间复杂度为 O(n^2),其中 n 是数组的长度。空间复杂度为 O(1),不考虑输出结果的空间消耗。解释:与 target 最接近的和为 2 (-1 + 2 + 1 = 2)。输入:nums = [-1, 2, 1, -4], target = 1。

2024-09-06 10:44:25 332

原创 第十五题:三数之和

首先我们对数组进行了排序,排序的时间复杂度为 O(n log n),之后我们对每一个元素执行了两重循环来查找可能的解,这一步的时间复杂度为 O(n^2)。因此,总体的时间复杂度是 O(n^2)。空间复杂度主要取决于排序的空间开销以及存储结果的空间开销,通常为 O(1) 或者 O(n) 取决于排序算法的具体实现。首先对数组进行排序,然后遍历数组,对于每一个数 nums[i],设定两个指针 left 和 right 分别指向 i+1 和 n-1 的位置,计算三数之和,根据和与 0 的大小关系移动指针。

2024-09-06 10:38:06 415

原创 第十四题:最长公共前缀

时间复杂度主要取决于字符串数组中最长的字符串长度以及字符串的数量。在最坏的情况下,时间复杂度为 O(S),其中 S 是所有字符串中字符的总数。空间复杂度为 O(1),因为只使用了固定的额外空间。遍历字符串数组,逐个字符比较每个字符串的字符与第一个字符串的字符是否相同,遇到不同的字符或某个字符串结束时停止比较。可以优化的是选择最短的字符串作为基准,减少不必要的比较次数。编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。

2024-09-05 09:51:57 547

原创 第十三题:Roman to Integer

罗马数字包含以下七种字符: I, V, X, L, C, D 和 M。字符相同的数字表示相加的数,较小的数字在较大的数字前面表示相减的数。给定一个罗马数字,将其转换为整数。遍历字符串,比较相邻两个字符的值,如果前一个字符代表的数值小于等于后一个字符代表的数值,则将前一个字符对应的值累加到结果中;否则从结果中减去前一个字符对应的值。O(n),其中n是罗马数字字符串的长度。因为只需要遍历一次字符串即可得到结果。输入: “MCMXCIV”输入: “LVIII”

2024-09-05 09:47:40 408

原创 第十二题:整数转罗马数字

创建一个映射表存储罗马数字的字符与对应的数值。从大到小遍历映射表中的数值,每次尝试将当前数值减去输入的整数,并将对应的罗马字符添加到结果字符串中,直到输入的整数小于当前数值为止。重复此过程直到输入的整数变为0。给定一个整数,将其转换为罗马数字。输入确保在 1 到 3999 的范围内。O(1) - 因为输入范围固定且有限,循环次数不会超过固定的次数。

2024-09-05 09:42:38 421

原创 第十一题:盛最多水的容器

给定 n 个非负整数 a1, a2, …, an, 每个数代表坐标中的一个点 (i, ai)。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。初始时,两指针分别位于数组的两端。计算当前指针所夹成的容器面积,然后移动指向较短边界的指针向中间靠拢,直到两指针相遇。这样可以保证有机会找到更大的面积。O(n),其中 n 是数组的长度。每个元素只会被访问一次。输入: [1,8,6,2,5,4,8,3,7]

2024-09-04 09:16:53 432

原创 第十题:正则表达式匹配

我们可以使用动态规划来解决这个问题。‘*’ 匹配零个或多个前面的那一个元素。所谓匹配,是要涵盖整个输入字符串(,表示空字符串与空模式匹配。空间复杂度也为 O(m。可能为空,且只包含从。可能为空,且只包含从。‘.’ 匹配任意单个字符。的小写字母,以及字符。,请你来实现一个支持。的正则表达式的匹配。),而不是部分字符串。时间复杂度为 O(m。

2024-09-04 08:58:31 595

原创 第九题:回文数字

时间复杂度为 O(log n),其中 n 是输入数字 x 的大小。这是因为每次循环都会将 x 除以 10,直到 x 减少到小于反转的一半。由于我们是在处理整数的每一位,所以循环次数不会超过整数的位数,即 log(n)。为了不将整数转换为字符串,可以考虑通过数学的方式来解决这个问题。一种方法是反转一半的数字,然后比较反转的部分是否与另一半相同。对于奇数位数的数字,在中间位上不需要做比较。给定一个整数 x ,编写一个函数来判断 x 是否为回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的数。

2024-09-03 20:40:08 388

原创 第八题:字符串转换整数 (atoi)

实现函数,将字符串转换成 32 位有符号整数。函数首先丢弃字符串前面的空格字符,直到找到第一个非空格字符为止。然后,选择该非空格字符和之后的连续字符组成一个存储整数的字符串。字符串可以包含额外字符,这些字符在形成整数的字符串后面,并被忽略。如果第一个非空格字符不是数字且不是符号或者,则不进行转换并返回 0。如果转换过程中存在任何无法识别的字符,则提前停止转换,并返回已经得到的结果。如果转换后的结果超过 32 位有符号整数范围,则返回整数边界。

2024-09-03 19:59:54 419

原创 第七题:整数反转(Reverse Integer)

给定一个 32 位有符号整数x,返回其反转后的整数。反转后的整数可能会超出 32 位整数的范围,因此需要注意处理溢出情况。x = 123321x = -123-321x = 12021x = 00需要考虑反转后的整数是否会超出 32 位整数的范围。32 位有符号整数的范围是 ([-2^{31}, 2^{31} - 1]),即 ([-2147483648, 2147483647])。

2024-08-25 08:37:02 251

原创 第六题:Z字形变换(Zigzag Conversion)

将给定的字符串s以指定的行数numRows进行“Z字形”排列,然后按行读出字符串并返回。你需要将字符串s按照numRows行的Z字形排列,并返回按行读取的结果。

2024-08-25 08:31:11 443

原创 第五题:最长回文子串(Longest Palindromic Substring)

leetcode第五题最长回文子串的c,javapython的三种实现

2024-08-24 09:25:40 713

原创 第四题:求两个有序数组的中位数(Median of Two Sorted Arrays)

leetcode第四题Median of Two Sorted Arrays的c,java,python实现

2024-08-24 09:21:43 642

原创 第三题:无重复字符的最长子串

leetcode第三题,给定一个字符串 s,请你找出其中不含有重复字符的 最长子串 的长度。用c java python 实现

2024-08-23 11:28:37 259

原创 第二题:两数相加

LeetCode 第二道题目是 “两数相加”(Add Two Numbers)。以下是详细的解题思路及 C、Java 和 Python 的实现。

2024-08-23 11:13:58 266

原创 第一题:两数之和

leetocde第一题,两数之和

2024-08-23 11:09:16 434

原创 Python下载腾讯视频(懂得都懂)

python下载腾讯视频

2024-07-24 21:41:09 2691 4

原创 构造器注入详解

Spring中依赖数注入的推荐方式,以及为什么使用构造注入时可不用@Autowired

2024-07-24 13:37:01 1336

原创 现在很火的RPA究竟是什么?

那么,RPA 究竟是什么?想象一下,一个每天需要花费大量时间手动将数据从一个系统复制到另一个系统的员工,有了 RPA 之后,这个繁琐的工作就可以交给机器人来完成,员工可以将更多的时间和精力投入到更有价值和创造性的工作中。常见的 RPA 软件有实在智能,来也,影刀等,挺名称 RPA 感觉很高级,但恰恰相反,RPA 就相当于一个可视化的拖拽式脚本编写工具,即使是一个普通非计算机人员,也能快速上手,并且兼容手机,电脑。简单来说,RPA 是一种可以模拟人类在计算机上的操作,实现流程自动化的技术。

2024-07-22 23:03:10 257

原创 autoxjs的安装与配置

autojs环境配置

2024-07-22 11:53:52 1613

原创 SpringBoot3整合Druid报错Cannot load driver class: org.h2.Driver

SpringBoot3整合Druid报错Cannot load driver class: org.h2.Driver

2024-07-20 19:07:36 938 2

原创 jdk17的安装与配置(同时安装多个jdk)

同时安装多个版本的jdk(jdk8和jdk17)

2024-07-20 15:03:21 795

原创 Spring进阶(二十一)之循环Bean详解

面试基本上必问的什么是循环依赖?如何检测是否存在循环依赖?如何解决循环依赖?多例的情况下,循环依赖问题为什么无法解决?单例的情况下,虽然可以解决循环依赖,是否存在其他问题?为什么采用三级缓存解决循环依赖?如果直接将早期bean丢到二级缓存可以么?

2022-12-07 14:48:14 829 1

原创 Spring进阶(二十)之事件处理

对于进阶spring,学习事件处理是必不可少的

2022-12-02 16:32:15 1360

原创 JDK8新特性之时间日期API

JDK 8中增加了一套全新的日期时间API,这套API设计合理,是线程安全的。新的日期及时间API位于 java.time 包 中,下面是一些关键类。LocalDate :表示日期,包含年月日,格式为 2019-10-16LocalTime :表示时间,包含时分秒,格式为 16:38:54.158549300LocalDateTime :表示日期时间,包含年月日,时分秒,格式为 2018-09-06T15:33:56.750DateTimeFormatter :日期时间格式化类。

2022-11-23 14:20:48 472

原创 JDK8新特性之Stream流

Stream流的操作很丰富,这里只介绍一些常用的API。终结方法:返回值类型不再是 Stream 类型的方法,不再支持链式调用,常用的有count方法和forEach方法。非终结方法:返回值类型仍然是 Stream 类型的方法,支持链式调用。除了终结方法以外的都是非终结方法。Stream只能操作一次Stream方法返回的是新的流Stream不调用终结方法,中间的操作不会执行。

2022-11-23 03:02:50 1538

原创 JDK8新特性之方法引用

学习lambda表达式,方法引用也是必须要掌握的,精简代码!!!

2022-11-22 13:42:48 678

原创 JDK8新特性之函数式接口

学会函数式接口,让你的代码更优雅更规范更简洁

2022-11-19 13:15:17 237

原创 JDK8新特性之接口

一文搞懂jdk8中接口的新特性

2022-11-18 21:34:00 300

原创 JDK8新特性之Lambda表达式

lambda表达式,不可不学!

2022-11-18 20:14:38 164

原创 Nginx静态资源部署

nginx静态资源配置详解,多练!!!

2022-11-08 15:28:58 11435

原创 Nginx配置文件

nginx的配置文件详解

2022-11-05 15:47:02 1154 1

原创 nginx前言

nginx简介

2022-11-05 00:49:37 591

原创 JAVA线程创建的三种方式

java创建线程的几种方式

2022-11-05 00:00:02 292

原创 Spring进阶(十九)之配置动态刷新

Spring中的@Value你真的会用吗?动态刷新你会吗?

2022-11-03 17:31:56 1460

原创 Spring进阶(十八)之父子容器

spring中的父子容器

2022-11-01 00:23:41 861

原创 Spring进阶(十七)之spring生命周期

spring生命周期详解,多看几遍!!!

2022-10-30 01:33:02 3294 1

原创 SpringMVC源码深度解析

springmvc的源码解析,建议收藏,多看几遍!!!

2022-10-29 23:59:31 3419 2

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