自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1509)
  • 问答 (5)
  • 收藏
  • 关注

原创 【LeetCode】 Z 字形变换

本题初看是有点儿麻烦的,因为有个N型的变换,但是如果把这个N型压缩一下,其实就是考虑每行放什么值的问题。那么问题就简化成当前的字符串的字符需要放在哪一行?做一个处理就ok了。充分地思考问题,然后得出抽象解,最后再写代码。

2024-09-07 13:32:14 354

原创 【LeetCode 121】买卖股票的最佳时机

本题的思想在于逢低买入,如果碰到比之前买入价格更低,那么对于后面每天的价格来说,之前的买入价都不会是最优价了。虽然是道简单题,但有单调队列的思想在其中。

2024-09-07 10:44:01 291

原创 你不知道的逻辑回归

逻辑回归是机器学习中最基础、最简单的模型了,但是对于它的细节知识你是真的了解吗?本文详细解释了为什么逻辑回归用的是交叉熵损失而不是均方误差。

2024-09-06 10:44:23 1003

原创 判断母串是否包含子串的某种排列

通过Counter+循环的方式判断是否匹配成功。匹配成功的标志就是剩余待匹配字符的个数,如果个数已经为0了,那么就说明母串确实包含子串的某种排列,直接返回结果。相比面试老师说的滑动窗口,这个解法应该是比滑动窗口简洁的。

2024-09-03 08:23:55 173 1

原创 【LeetCode】918. 环形子数组的最大和

单调队列的经典应用,要非常熟练!

2024-08-31 12:57:29 312

原创 【LeetCode】433.最小基因变化

使用bfs求最短路径是一道经典的题目,这种题目没啥可说的,得熟练,十分钟解决战斗吧!

2024-08-18 23:14:58 279

原创 【LeetCode】452.用最少数量的箭引发气球

能够找到问题的解法与把问题足够简化是天壤之别。比如我知道这题可以用贪心算法来解决,但是代码实现的过程中就走上了复杂的路,但是官方题解给的代码则相当简洁。这说明我思考的不够深入,导致化繁为简的能力不够强。

2024-08-13 22:50:25 218

原创 【递归】使用递归方法解析json格式的字符串保存到字典中

这并非是一道简单题,如果能在20min内写出来,便具备了优秀程序员的基本素养了。

2024-08-12 01:41:38 170

原创 【LeetCode】148.排序链表

这是一道很好的面试题。考察了链表、排序等基本数据结构的使用。同时还融合了递归(分治)的思想。同时分析归并排序的复杂度也不是一件很轻松的事情,值得学习。

2024-08-11 10:04:49 199

原创 【LeetCode】133.克隆图

不得不说,本题的官方题解写的代码确实优秀!本题的关键点是使用了一个哈希表存储了旧节点到新节点的映射。

2024-08-04 19:58:13 349

原创 【LeetCode】207.课程表

这题的官方题解给出了一个深搜版本的代码,值得学习。

2024-08-04 19:35:20 290

原创 【LeetCode】45.跳跃游戏II

如果对于贪心算法不熟悉的话,这道题挺难想的。我一直认为关键点在于:如何把某段区间里面的值都给改成相同的步数,甚至想到了前缀和差分。但其实并不用那么麻烦。只需要维护在到达本次最远位置之前能达到的最远位置即可。每次到达最远位置后便更新一下step,最后返回step。

2024-08-04 11:46:00 389

原创 【LeetCode】33.搜索旋转排序数组

说实话,这道题挺难想的。难点在于,数组非完全有序就会让人产生错觉(这道题无法二分)。的复杂度,那我觉得我肯定不会想到。基于这个性质,可以得到下面这个代码。

2024-08-04 00:37:35 233

原创 【LeetCode】219.存在重复元素II

滑动窗口类的题目的典型做法是在窗口内部维护一个哈希表。

2024-08-03 10:06:13 223

原创 【LeetCode】108. 将有序数组转换为二叉搜索树

这虽然是一道简单题,但是考察的点还挺丰富,二分法,递归,平衡二叉树都考察到了。是一道不错的面试题。

2024-08-03 08:50:50 333

原创 【LeetCode】202.快乐数

不要觉得是简单题就懒得思考了。一名优秀的程序员应该主动将时间复杂度、空间复杂度都调至最优!

2024-08-02 22:11:10 374

原创 【LeetCode】16. 最接近的三数之和

三数之和这道题被反复考到,但是我一次都没给写出来,真是汗颜!本题是三数之和的一道变形题,也是一道好题!本题有两个关键点:其一,双指针是怎么个用法?在本题中是怎么实现的?其二,如何判断要终止当前的这轮迭代?(与target这个值进行比较,决定该怎么迭代查找。)

2024-07-30 20:32:26 135

原创 【LeetCode】136.只出现一次的数字

熟练掌握基本知识是专业的体现。必须得对各种常用API了熟于胸。

2024-07-25 08:14:53 599

原创 【LeetCode】201. 数字范围按位与

这题挺难想的,我到现在还没想明白,为啥只用左区间和右区间就能找到目标值了,而不用挨个做与操作?

2024-07-24 22:47:17 374

原创 【LeetCode】71.简化路径

我写的代码跟官方题解还是有很大差距的。找出差距,刻意练习。

2024-07-24 22:20:04 407 1

原创 【LeetCode】86.分割链表

这题没有太大难度,主要是熟悉代码。

2024-07-23 23:58:15 363 1

原创 【python基础知识】整除

熟练使用你所常用的开发语言是一个非常基本的要求。如果你日常需要使用Python,但是你对向上取整,向下取整,以及Python中的默认实现方式是什么都不知道的话,那么我就需要怀疑你的专业能力了。

2024-07-21 18:48:15 522

原创 【LeetCode】80.删除有序数组中的重复项II

思路很好想到,但是实现起来不是那么容易。

2024-07-21 15:36:00 254

原创 【LeetCode】69. x 的平方根

二分法典型题。

2024-07-20 15:37:08 214 1

原创 【LeetCode】67. 二进制求和

何为基本功?对一个语言基本函数库的熟悉就是基本功的体现,对底层计算机知识的了然于胸就是基本功。作为一名程序员,你要对你常用的语言要非常熟悉,知道每个API是什么意思,直到有哪些实现的函数,只有做到这些,才有可能称得上专业。

2024-07-20 12:03:38 218

原创 【LeetCode】222. 完全二叉树的个数

什么是计算机基础?如果本题能够用二分+二进制+二叉树的方式解出本题,那么我可以认为你的计算机基础好。很久以来,我一直认为自己的计算机基础好,但是自刷题以来,跟网上这么多优秀的同学相比,我发现我实在是弱爆了。

2024-07-20 08:30:38 290 1

原创 【LeetCode】162. 寻找峰值

本题是一道优秀的二分算法题目。优秀的地方在于,一改传统二分法的判断标准(以前后元素的值比较为标准)。同时为了将代码变得优雅,需要对代码进行一个trick处理。

2024-07-17 23:38:24 422

原创 【LeetCode】125. 验证回文串

熟练使用python自带函数会大大降低编码复杂度。

2024-07-14 16:38:33 159

原创 【python基础知识】字符和ASCII码表值间的转换

在python中如何将字符和ASCII码表值互相转换呢?涉及到两个函数,分别是ord和chr函数。

2024-07-14 12:37:50 244

原创 【LeetCode】27. 移除元素

双指针经典例题?

2024-07-14 05:55:12 246

原创 【python数据结构精讲】双端队列

通过总结《流畅的Python》等书中的知识,总结Python中常用工具的方法。

2024-07-13 12:45:28 306

原创 【LeetCode】205. 同构字符串

认真地分类讨论,评判复杂度,再决定是否要写代码执行。整套流程干净利落,不存在主观臆想,也不会有对事实结果计算的巨大偏差。

2024-07-13 09:36:14 297

原创 【LeetCode】2187. 完成旅途的最少时间

本题想要找出一个达到 totalTrips 趟需要的最少时间成本t,那么对于题目来说任何大于t的数也会是解,但不是最优解;任何小于t的数都不是解。这样整个值域就被分成了两部分,区间[0,t) 和 [t, +∞)。二分法找出这个区间分界点,就是本题的最优解。

2024-07-13 07:03:01 282

原创 【LeetCode】1283.使结果不超过阈值的最小除数

典型的一道二分法题。在某种限制条件下取到最优值,且最优值满足单调性。

2024-07-12 08:22:39 173

原创 【LeetCode】2089. 找出数组排序后的目标下标

当有简单方法可以使用时,千万别绕远路了。

2024-07-11 23:38:18 209

原创 【LeetCode】633. 平方数之和

双指针典型题目。

2024-07-11 23:23:36 198

原创 【LeetCode】面试题 16.21. 交换和

质量还不错的一道题。这道题不难想,按照固定套路分析就能判断出使用二分法来解决。

2024-07-11 22:03:58 189

原创 【LeetCode】169. 多数元素

O(n)复杂度的解法挺难想到。本质思想类似于消消乐游戏,如果一个元素是数组中的众数,那么将众数跟剩余的各个数相消,剩下来的那个数就是众数。但问题是,如何做到相消的代码逻辑?需要仔细领悟。

2024-07-09 23:57:31 232

原创 【LeetCode】239. 滑动窗口最大值

这题其实挺不好写的。知识点虽然重要,但细节非常繁琐,我这一次(20240709)花费了大概2个小时才写出这道题,但其实这还是我已经知道这道题是需要使用“单调队列”算法来求解,并我已事先学过单调队列算法了。所以知易行难,提升算法水平,还是需要老老实实的多敲代码。

2024-07-09 08:17:45 163

原创 【LeetCode】12. 小张刷题计划

稳住,能赢!没有经验的同学在面试岗位的时候,总是显得手忙脚乱,所以多练习,把技能提升,眼界提升,接着心态放平和,不要慌张,把面试题目读懂读透彻就会大大提升赢的概率。其实本题就是一道二分法解决的题目,只不过这里的二分法多了一个限制条件。

2024-07-09 07:40:59 342

空空如也

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

TA关注的人

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