算法
文章平均质量分 68
繁星意未平
记录我的计算机学习之路,分享计算机专业知识,领悟计算机实践之道。
展开
-
STL常用算法的使用及举例
std::adjacent_find原创 2021-04-07 23:54:51 · 226 阅读 · 0 评论 -
二分法(leetcode分类解题,C++代码详细注释)
二分法前言69. x 的平方根前言二分查找也常被称为二分法或者折半查找,每次查找时通过将待查找区间分成两部分并只取一部分继续查找,将查找的复杂度大大减少。对于一个长度为 O(n) 的数组,二分查找的时间复杂度为 O(log n)。69. x 的平方根题解我们可以把这道题想象成,给定一个非负整数 aaa,求f(x)=x2,a=0f (x) = x2,a = 0f(x)=x2,a=0 的解。因为我们只考虑 x≥0x ≥ 0x≥0,所以 f(x)f (x)f(x) 在定义域上是单调递增的。考虑到 f(原创 2021-03-09 22:36:18 · 323 阅读 · 0 评论 -
双指针法(leetcode分类解题,C++代码详细注释)
双指针法前言前言双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。若两个指针指向同一数组,但是遍历方向相反,则可以用来进行搜索,待搜索的数组往往是排好序的。对于 C++ 语言,指针还可以玩出很多新的花样。一些常见的关于指针的操作如下。指针与常量int x;int * p1 = &x; // 指针可以被修改,值也可以被修原创 2021-03-07 21:25:19 · 822 阅读 · 0 评论 -
贪心算法(leetcode分类解题,C++代码详细注释)
前言贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。下面是leetcode上的一些例题,代码配有详细的注释。原创 2021-03-07 11:04:57 · 3074 阅读 · 0 评论