一起来刷题
文章平均质量分 67
从现在开始卷,跟我一起刷题吧~
五点钟科技
机器学习、深度学习、自然语言处理、PLC、哲学、国学、音乐、书法……
展开
-
18. 四数之和
本题虽然是四数之和,但和我们之前做过的所有x数之和都是换汤不换药,思路是一样的,只不过这里可能需要多一个循环,即4个指针共同来完成此题。请你找出并返回满足下述全部条件且。原创 2024-01-17 14:49:42 · 396 阅读 · 0 评论 -
16. 最接近的三数之和
那么“最接近”该怎么判断呢?也很好理解,既然是最接近,那必然是求距离的问题,要求最小距离,我们设置一个变量minx来始终记录距离最小的值,因此我们只需要在三段式判别之下再多一个判断,即判断当前三数之和与target之差的绝对值是否小于minx即可,显然,当当三数之和与target的差值为0时,说明三数之和直接等于target,距离达到最小,为0,那么minx就为0。遇到这种x数之和的问题,不要纠结,优先考虑多指针的解法。中选出三个整数,使它们的和与。假定每组输入只存在恰好一个解。原创 2024-01-15 11:44:29 · 416 阅读 · 0 评论 -
15. 三数之和
题目:给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。原创 2024-01-14 21:15:51 · 438 阅读 · 0 评论 -
14. 最长公共前缀
题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。原创 2024-01-09 15:46:41 · 354 阅读 · 0 评论 -
11. 盛最多水的容器
题目:给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。你不能倾斜容器。(废话)原创 2024-01-09 10:34:15 · 457 阅读 · 0 评论 -
5. 最长回文子串
还以`aacabaccba`举例,假设此时我们遍历到首尾字符所组成的子串为`cabac`,c和c相同,但`cabac`长度超过3,所以向内缩为`aba`,这个时候我们只需要判断`aba`是否为回文即可确定`cabac`是否为回文,而`aba`在之前肯定已经判断过了,在哪呢?拿`aacabaccba`来举例,如果相邻的两个字符一样,如“aa”,那它肯定是回文串,如果如果两个一样的字符不相邻但中间只裹挟一个字符,如“aca”,那它也必然是回文串,除此之外,其它的情况就不一定了;不要多想,本题就用动态规划解决。原创 2024-01-05 11:24:31 · 406 阅读 · 0 评论 -
4. 寻找两个正序数组的中位数
综合上述分析,本题实际上就是要从两个有序数组中找第k大的数,且这个第k大的数是两个数组的中位数。我们虽然不能直接将两个数组合并,但是,由于两个数组都是有序数组,所以当我们取每个数组的前k/2个数时,会出现两种情况,第一个数组的第k/2个数小于第二个数组的第k/2个数,或者第一个数组的第k/2个数大于第二个数组的第k/2个数,我们拿前者的情况举例原创 2024-01-04 15:51:02 · 844 阅读 · 0 评论 -
3. 无重复字符的最长子串
这是个常规题,我们在遍历字符串的时候,始终存储一个没有重复字符的子字符串的即可, 当遍历的指针指向的字母一旦已经存在在我们存储的子字符串中,那么子字符串就应当去掉重复字符及其之前的那些字符,并拼接当前指针指向的字符,从而成为一个新的无重复子串。,请你找出其中不含有重复字符的。题目:给定一个字符串。原创 2023-12-19 21:00:48 · 373 阅读 · 0 评论 -
2.两数相加
解题思路:两个数相加,无非就是考虑两个数中每个数字相加后的进位问题,怎么进位?大于9的进1位,小于10的不用进位,所以每个数字相加后要记录的数有两个:和相对于10的余数以及和相对于10的商的整数。10=1余7,所以在构建结果链表的时候,需要将7添加到链表节点,同时在下一次两数相加的时候再加上1。这个没啥说的,就是小学都会的求和运算。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。原创 2023-12-13 21:40:49 · 451 阅读 · 0 评论 -
1. 两数之和
题目:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。这题比较简单,用的方法很容易就能解答,现在直接上的方法。原创 2023-12-13 15:41:36 · 503 阅读 · 0 评论 -
【一起来刷题】基础排序问题之堆排序算法---手把手一步步图示剖析讲解,非常详细!一目了然,通俗易懂!
持续更新中……更多精彩文章,欢迎大家关注我,一起学习,一起进步~堆排序是基础排序问题中要介绍的最后一个十分重要的排序算法。在学习堆排序算法之前,需要明确几个基本概念:完全二叉树、大根堆,以及3个公式(见下文)。完全二叉树是在一棵树中,每一层并列的节点排列顺序必须是从左往右不留空的排列,如下图,左边是完全二叉树,右边不是:【拓展】如果每一层节点都排满了,那么它就是一个满二叉树:所以,满二叉树是一种特殊的完全二叉树。在一棵完全二叉树中,以任意节点为头结点的树中,头结点的值最大,称为大根堆。原创 2022-11-17 12:31:00 · 1182 阅读 · 1 评论 -
【一起来刷题】链表操作问题之两两交换链表中的节点
(5)通过以上几步,我们将1和2交换了位置。这是一道中等题,但是是链表的常规操作题,需要对链表结构足够熟悉,就能轻松解答。推荐解题前,自己画个简图,然后一步一步改变节点连接,一目了然。(2)接下来就开始调整两个节点的指向。Ok,第一轮交换完成。后续操作就是重复上述步骤即可。更多精彩文章,欢迎大家关注我,一起学习,一起进步~原创 2022-11-04 11:33:45 · 1157 阅读 · 0 评论 -
【一起来刷题】基础排序问题之归并排序,链表操作问题之合并K个升序链表
持续更新中……更多精彩文章,欢迎大家关注我,一起学习,一起进步~本文介绍一下另一个重要的排序算法:归并排序。原创 2022-11-02 11:40:37 · 352 阅读 · 0 评论 -
【一起来刷题】基础排序问题之快速排序算法
随机快排的大概思路,是在一组数中,随机选取一个数,记为X,然后从数组两头遍历,把数组中大于X的数放右边,小于X的数放左边,等于X的数放中间,按照这个步骤(称为partition过程),就能把所有小于X的数移到左边,大于X的数移到右边,等于X的数移到中间。当partition结束后,我们分别将47左边的数组和右边的数组再重复一遍上述过程,注意这个子过程的pivot值不一定是47,因为每次partition我们的pivot取值为当前数组left和right位置的中间位置的数。快速排序分为基础快排和随机快排。原创 2022-10-31 15:58:44 · 155 阅读 · 0 评论 -
【一起来刷题】链表操作问题之删除链表的倒数第 N 个结点
想学习机器学习算法的小伙伴,欢迎关注我,专栏本文隶属系列专栏一起学习,一起进步,做时代有为青年~本节想穿插着讨论一下链表相关的一道题。题目来自于力扣。原创 2022-10-28 11:33:02 · 362 阅读 · 0 评论 -
【一起来刷题】基础排序问题之选择排序、冒泡排序、插入排序
最近准备新开一个有关数据结构算法的专栏。讲一讲LeetCode中常见题型的解题方法。对于刷题这种事,我想说,真的百说不如一练,所以原理上大家一遍两遍没弄懂没关系,真的需要多刷题才能其义自见。而且很多时候,解题思路如果被你深刻体会到了之后,往往难以用语言进行二次转述,就是那种贱贱的感觉,反正挺玄学的。就我过来经验,除非一些非常简单的题,稍微难一点的题,对于初次刷题的小伙伴来说,一道题耗费3天都不为过,当然我说的是正常作息条件下。一道题做了四五遍,基本上才能够心领神会,不会很快忘记。原创 2022-10-27 10:02:21 · 514 阅读 · 0 评论