
C++算法训练
文章平均质量分 95
清水墨客
终日昏昏醉梦间
忽闻春尽强登山
因过竹院逢僧话
偷得浮生半日闲
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
暑期算法训练.14
理解这个题目的解法,咱们下一道题目还得用到这个解法。这道题目很是巧妙地运用了上一题的解法,大家可以仔细的研读一下这道题目,就是基本计算器II还是比较简单的,那个计算器I才是真的难,那个还得掌握逆波兰表达式等等的知识。等有时间出个专题再讲讲吧本题也是用到了相当多的知识,不过最重要的莫过于这个栈那么咱们今天的题目就讲解完了。关于栈这方面的,题目博主总结的并不是很完整。大家可以补充本篇完...................原创 2025-08-05 19:52:06 · 1167 阅读 · 1 评论 -
暑期算法训练.13
其实字符串类型的题目不只是字符串,还有其他相关的知识。比如模拟,等等这道题目其实使用其他的方法也是可以去做的这道题目其实还可以,下面这一道题目才是王炸这道题目可谓是真的锻炼你的代码能力以及边界处理能力本篇完..................原创 2025-08-02 20:24:42 · 1211 阅读 · 2 评论 -
暑期算法训练.12
本题基本就用到咱们之前所讲的那些东西,这里创建哈希表使用unordered_map,是因为这里有key以及val,不只是key基本也是用到了咱们开篇所讲的那些知识基本的重要的知识,学会运用,做题轻轻松松那么大体的思路基本就是这样,大家还是得利用好前面的知识才可以基本今天的题目就是这些,算是比较简单的。本篇完....................原创 2025-08-01 17:09:19 · 1482 阅读 · 3 评论 -
暑期算法训练.11
这道题目充分的利用了上面的知识,所以还得具备充分的知识储备才可以。其实这道题目也是用到了上面咱们所说的这些算法,大家还是得好好的参悟一下重点的东西还是开篇所讲的那些东西,还是希望大家要好好的研读,最好记住。今天的知识基本都用到了我在开篇所讲的那些知识本篇完.................原创 2025-07-31 20:52:19 · 1397 阅读 · 5 评论 -
暑期算法训练.10
归并排序是做后面题目的基础,大家还是搞定归并排序再来看后面的题目,本题还是有难度的,并且有参考价值,大家还是得好好的参悟一下这道题目还是很不错的,大家要仔细的理解一下今天的题量挺少的,但是知识量很大,所以大家仔细的研读一下....本篇完......原创 2025-07-29 19:30:55 · 1211 阅读 · 11 评论 -
暑期算法训练.9
代码量其实还是挺少的,只要还是看这个思路一定要掌握。其实这道题目还是运用了数组分三块加上随机产生基准值。大家以后写快速排序的时候,也可以这么写,这么写是比数组分两块来进行写,写的快的。这里涉及到了几个问题,我会在最后一个问题全部说清楚。好了,咱们今天的算法就讲到了这里,还是学到了不少有用的算法。原创 2025-07-26 17:48:48 · 1568 阅读 · 2 评论 -
暑期算法训练.8
基本的做题方法就是这样,注意:模拟的题一定要去找规律才可以。这道题基本就是这样的,咱们只需要掌握住题目的意思,根据这个意思去写就可以了。本道题就是你要是找不出规律,那很难做出来。你要是想不出来看下标,硬做,其实还是挺难的。本题就是得灵活的结合前面的只是才可以解决。这道题目还是很考验大家的算法能力的,以及代码的实现能力。原创 2025-07-25 18:19:10 · 701 阅读 · 2 评论 -
暑期算法训练.7
在讲解今天的算法题之前,咱们先来讲解一下这个位运算的常规运算,以便于咱们后面的使用。(这个运算其实挺重要的,关系到咱们后面习题的做题的速度)注意,一开始进入位运算,一般都是以0开始的。所以让bitMap=0;并且这里的运算,都是小范围的,就是bit为单位的运算。并且这里的for就相当于反复的循环了。我已3,0,1为例子,大家就明白了:ret^3^0^1^0^1^2^3,根据位运算的公式,是不是两个一样的可以消去。所以说,最后只剩下0^2,不就是2了嘛?本题没有什么特别的,只需要对位运算熟悉即可。原创 2025-07-24 19:04:25 · 988 阅读 · 3 评论 -
暑假算法训练.6
到了后面,这种题做的多了,会发现路子其实都是一样的。博主也是用了很长时间才把这个给搞清楚,这个我感觉还是挺容易混的。所以大家一定要好好的看看,还差最后一个题,这类的做法做法的基本思路就总结出来了。那么咱们就来说明一下这类题目的做法,相信从前面几道题,大家已经看出来是怎么个办法了。就是先分析题目,找出方程式(创建前缀和数组),之后使用前缀和数组,算出结果。最重要的是最后要处理一下边界条件,基本都是这样的。边界条件基本就是最前面以及最后面。前缀和模板的题呢,还有3道,那么咱们明天再一起讲完。原创 2025-07-22 21:03:01 · 1220 阅读 · 0 评论 -
暑期算法训练.5
题目很好理解,就是让你找出目标值的开始以及结束的位置。不过这道题目要注意处理一下,空数组以及没有结果的情况。咱们来总结一下这类二分的模板:不用死记硬背,只需要记住一点:就是若是下面出现了-1,那么上面mid给它加上1就可以了。记住了求中点的方式,就可以推导出其他的了。这个起始也就是一种二分算法的模板而已。这道题目是用到了求左端点的模板。要注意分清楚,还是挺好抓住的。这道题目就不可以傻乎乎的再硬用了,需要分析一下为什么使用二分算法了。这道题目也是考你灵活的运用二分模板。原创 2025-07-21 22:23:30 · 1023 阅读 · 1 评论 -
暑期算法训练.4
总结下来还是滑动窗口的那些做题方法。本题还是挺有挑战性的。即使你的思路想出来了,但是如果说你的代码能力不够强,也还是写不出这样的代码的。还是得先真正的搞懂一道题目之后,才可以对类似的题目得心应手。处理好一些细节,就可以把一道题做的很好。这只是二分算法的一道开胃小菜。后面还有更大的礼物呢。原创 2025-07-19 22:13:46 · 987 阅读 · 2 评论 -
暑期算法训练.3
这里还有一点需要强调的是:这个代码的时间复杂度可是O(N),N为数据个数。不是O(N^2),因为这里的right不回头,它只往右边走。left也只往右边走,这样的话,每一个数只被访问了2次,就是O(2N)。而咱们平常的O(N^2)是right从头开始了,所以说,left走到每一个元素的时候,前面的每个元素均被访问了一遍。滑动窗口的题目其实很简单。但是难的是,你要如何想到使用滑动窗口去做,还是要把握住那几点重要的特征才可以。对于这种求连续区间的,一般使用的都是滑动窗口来解决。原创 2025-07-17 19:50:17 · 1047 阅读 · 2 评论 -
暑期算法训练.2
对于很多的题来说,优化的算法都是在暴力的基础上进行改良的。所以咱们一开始想不到优化的解法,不用慌张,先写出来暴力解法,然后再仔细的分析。其实这道题也就是带我们认识到了单调性+双指针对于这类型题目的解法,为下面三道题打下了基础。这道题与上一道题的解法基本一致。这道题想要真正的自己用代码实现出来,真的挺不容易的。还是要多练习题目。题目之间都是相互连接的,咱们只有真正弄懂了一道题目,理解其中的解法,再遇到下一个题目的时候,才有应对之策,才能临阵不慌。...............本篇完。原创 2025-07-16 21:23:12 · 2205 阅读 · 1 评论 -
暑期算法训练.1
一般来说,可以暴力解决的题很少,基本上都要采取一点技巧,也就是优秀的算法。本题不同于其他的题目,本题要采用逆向的思维方法。并且要注意寻找最后一个复写数字的位置。使用快慢指针的时候,只需要将fast走两步即可。否则会导致代码冗余。这道题目其实就是运用了一个结论,只需要记住这个结论就可以将这道题做出来了。这道题主要是用到了快慢指针,但要是没想到这个方法,那可能不太好做。本篇完..................原创 2025-07-15 18:40:44 · 916 阅读 · 4 评论