LeetCode刷题:C++版本
文章平均质量分 84
一个面向有 C++ 编程基础,但缺乏刷题经验的读者提供的参考博客。以 C++ 作为编程语言,而且会
适当使用一些 C++11 或更新的语法。提供VS源码以及可在LeetCode官网运行的代码。
欧特克_Glodon
C++开发Qt/MFC,三维可视化OpenGL/osg/cesium,GIS应用开发,矿山智能通风算法研究,AutoCAD二次开发(Arx开发)。
展开
-
LeetCode刷题3:二分查找算法
二分查找也常被称为二分法或者折半查找,每次查找时通过将待查找区间分成两部分并只取一部分继续查找,将查找的复杂度大大减少。对于一个长度为 O„n” 的数组,二分查找的时间复杂度为 O„log n”。...原创 2022-08-08 14:11:20 · 113 阅读 · 0 评论 -
LeetCode刷题3:双指针算法
双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。 若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。 若两个指针指向同一数组,但是遍历方向相反,则可以用来进行搜索,待搜索的数组往往是排好序的。...原创 2022-08-02 14:11:08 · 147 阅读 · 0 评论 -
LeetCode刷题2:贪心算法
顾名思义, 贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。 举一个最简单的例子:小明和小王喜欢吃苹果,小明可以吃五个,小王可以吃三个。已知苹果园里有吃不完的苹果,求小明和小王一共最多吃多少个苹果。在这个例子中,我们可以选用的贪心策略为,每个人吃自己能吃的最多数量的苹果,这在每个人身上都是局部最优的。又因为全局结果是局部结果的简单求和,且局部结果互不相干,因此局部最优的策略也同样是全局最优的策略。.........原创 2022-07-25 15:27:03 · 185 阅读 · 0 评论 -
LeetCode刷题1:题目分类
打开LeetCode网站,如果我们按照题目类型数量分类,最多的几个题型有数组、动态规划、数学、字符串、树、哈希表、深度优先搜索、二分查找、贪心算法、广度优先搜索、双指针等等。第三个大分类是数据结构,包括C++STL内包含的常见数据结构、字符串处理、链表、树和图。其中,链表、树、和图都是用指针表示的数据结构,且前者是后者的子集。本书先从最简单的贪心算法讲起,然后逐渐进阶到二分查找、排序算法和搜索算法,最后是难度比较高的动态规划和分治算法。绍一些更加复杂的数据结构,比如经典的并查集和LRU。......原创 2022-07-25 14:36:44 · 359 阅读 · 0 评论