首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否可以在二次搜索算法的每次迭代中只进行一次比较?

在二次搜索算法的每次迭代中,通常需要进行多次比较来确定搜索范围的缩小。这是因为二次搜索算法是一种分治策略,通过将搜索范围逐渐缩小,最终找到目标值或确定目标值不存在。

具体来说,在每次迭代中,二次搜索算法会将搜索范围分成两部分,并通过比较目标值与中间元素的大小关系,确定目标值可能存在的区间。然后,根据比较结果,选择继续在左侧或右侧区间进行下一轮迭代,直到找到目标值或确定目标值不存在。

因此,为了确定搜索范围的缩小,每次迭代中需要进行至少一次比较。这是二次搜索算法的基本操作,无法避免。

需要注意的是,二次搜索算法的效率高于线性搜索算法,但仍然需要进行多次迭代和比较。在实际应用中,可以根据具体情况选择合适的搜索算法,以提高搜索效率。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

最优化问题综述

随机梯度下降每次迭代只使用一个样本,迭代一次计算量为n2,当样本个数m很大的时候,随机梯度下降迭代一次的速度要远高于批量梯度下降方法。...如果更通俗地说的话,比如你想找一条最短的路径走到一个盆地的最底部,梯度下降法每次只从你当前所处位置选一个坡度最大的方向走一步,牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大...4.5、免疫算法 免疫算法是一种具有生成+检测 (generate andtest)的迭代过程的搜索算法。从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,遗传算法是全局收敛的。...为了避免陷入局部最优解,TS搜索中采用了一种灵活的“记忆”技术,对已经进行的优化过程进行记录和选择,指导下一步的搜索方向,这就是Tabu表的建立。...要将三种算法进行混合,就要针对特定问题,然后融合其中的优势,比如将遗传算法中的变异算子加入粒子群中就可以形成基于变异的粒子群算法。 6 参考资料及文档 END ?

2.8K31

蚁群算法(独辟蹊径的进化算法)

自然优化——蚁群在觅食过程中,在没有任何提示下总能找到从蚁巢到食物源之间的最短路径;当经过的路线上出现障碍物时,还能迅速找到新的最优路径。...(5)所有蚂蚁都搜索完一次就是迭代一次,每迭代一次就对所有的边做一次信息素更新,原来的蚂蚁死掉,新的蚂蚁进行新一轮搜索。 (6)更新信息素包括原有信息素的蒸发和经过的路径上信息素的增加。...第一次迭代第一只蚂蚁: ? 第一次迭代第二只蚂蚁 ? 一次迭代第三只蚂蚁: ? 第一次迭代第四只蚂蚁: ? 第一次迭代第五只蚂蚁: ? 第一次迭代完成,更新信息素矩阵,信息素挥发系数为0.5。 ?...第一代蚂蚁全部累死,重新随机生成第二代蚂蚁进行迭代。 第二次迭代第一只蚂蚁: ? 第二次迭代第二只蚂蚁: ? 第二次迭代第三只蚂蚁: ? 第二次迭代第四只蚂蚁: ? 第二次迭代第五只蚂蚁: ?...至此,我们已经发现在第二次迭代的时候,五只蚂蚁走的是同一条路,所以算法收敛结束。 最优路径A->E->D->C->B->A, 最有路径的距离为9. 6.

2.5K90
  • 蚁群算法(独辟蹊径的进化算法)

    自然优化——蚁群在觅食过程中,在没有任何提示下总能找到从蚁巢到食物源之间的最短路径;当经过的路线上出现障碍物时,还能迅速找到新的最优路径。...(5)所有蚂蚁都搜索完一次就是迭代一次,每迭代一次就对所有的边做一次信息素更新,原来的蚂蚁死掉,新的蚂蚁进行新一轮搜索。 (6)更新信息素包括原有信息素的蒸发和经过的路径上信息素的增加。...第一次迭代第一只蚂蚁: ? 第一次迭代第二只蚂蚁 ? 第一次迭代第三只蚂蚁: ? 第一次迭代第四只蚂蚁: ? 第一次迭代第五只蚂蚁: ? 第一次迭代完成,更新信息素矩阵,信息素挥发系数为0.5。...第一代蚂蚁全部累死,重新随机生成第二代蚂蚁进行迭代。 第二次迭代第一只蚂蚁: ? 第二次迭代第二只蚂蚁: ? 第二次迭代第三只蚂蚁: ? 第二次迭代第四只蚂蚁: ? 第二次迭代第五只蚂蚁: ?...至此,我们已经发现在第二次迭代的时候,五只蚂蚁走的是同一条路,所以算法收敛结束。 最优路径A->E->D->C->B->A, 最有路径的距离为9. 6.

    1.9K90

    图解实例讲解JavaScript算法,让你彻底搞懂

    线性搜索算法线性搜索算法非常简单。假设您需要查找给定数组中是否存在某个数字。您将运行一个简单的 for 循环并检查每个元素,直到找到您要查找的元素。...其中 n(在最坏的情况下)是给定数组的长度。这里的迭代次数(在最坏的情况下)与输入(长度数组)成正比。因此,线性搜索算法的时间复杂度是线性时间复杂度:O (n)。...二进制搜索算法在线性搜索中,您一次可以消除一个元素。但是使用二进制搜索算法,您可以一次消除多个元素。这就是二分查找比线性查找快的原因。这里要注意的一点是,二分查找只对排序好的数组有效。...在第 6 行,如果没有找到匹配项,则中断内循环,并继续进行外循环的下一次迭代。在第 7 行,在内循环的最后一次迭代中返回true。朴素搜索的时间复杂度循环中有循环(嵌套循环)。两个循环都运行 n 次。...冒泡排序是众多排序算法中的一种。在冒泡排序算法中,我们通过将每个数字与前一个数字进行比较,将较大的数字交换到末尾。这是一个视觉表示。冒泡排序代码实现。

    87900

    关于二分搜索算法你需要知道的一切

    这种方法是对二分搜索算法的一种宽泛描述,这种算法在一个排序的元素列表中寻找一个元素的位置。它被称为二分搜索(来自拉丁语bīnī:"二乘二,对"),因为它在每次迭代时将数组分成两半,以缩小搜索空间。...如果n是输入数组的长度,二分搜索算法的最坏情况下的时间复杂度是O(log n),因为它是在每次迭代时将搜索空间减半来执行的。...例如,如果我们想在一个长度为8的数组中找到一个元素,在最坏的情况下需要log₂(8)=3次迭代。 空间复杂度为O(1)的常数。因为该算法需要中、低、高三个索引的空间,但每次迭代都没有额外的空间。...然而,二分搜索算法的主要缺点是,它需要一个排序的数组,在每次迭代时丢弃一半的搜索空间。尽管在运行二分搜索算法之前可以对数组进行排序,但排序算法会增加整体的时间复杂度。...因为搜索空间是排序的,所以该算法在每次迭代后都会丢弃一半的搜索空间。因此,我们将搜索空间减半,直到找到目标元素。你可以看到下面的算法的视觉摘要。

    86210

    独家 | 关于二分搜索算法你需要知道的一切

    这种方法是对二分搜索算法的一种宽泛描述,这种算法在一个排序的元素列表中寻找一个元素的位置。它被称为二分搜索(来自拉丁语bīnī:"二乘二,对"),因为它在每次迭代时将数组分成两半,以缩小搜索空间。...如果n是输入数组的长度,二分搜索算法的最坏情况下的时间复杂度是O(log n),因为它是在每次迭代时将搜索空间减半来执行的。...例如,如果我们想在一个长度为8的数组中找到一个元素,在最坏的情况下需要log₂(8)=3次迭代。 空间复杂度为O(1)的常数。因为该算法需要中、低、高三个索引的空间,但每次迭代都没有额外的空间。...然而,二分搜索算法的主要缺点是,它需要一个排序的数组,在每次迭代时丢弃一半的搜索空间。尽管在运行二分搜索算法之前可以对数组进行排序,但排序算法会增加整体的时间复杂度。...因为搜索空间是排序的,所以该算法在每次迭代后都会丢弃一半的搜索空间。因此,我们将搜索空间减半,直到找到目标元素。你可以看到下面的算法的视觉摘要。

    1.1K10

    【搜索算法】数字游戏(CC++)

    搜索算法可谓是在算法领域必不可少且比较基础的算法,其中搜索算法里面涉及到了很多具体的搜索算法,下面我们将会进行一一介绍。它主要用在图或者树当中,通过遍历所有可能的候选解来寻找最优解或满足条件的解。...搜索算法可以应用于各种领域,包括人工智能、优化问题、路径规划等。 以下是一些常见的搜索算法: 1....在分步解决问题的过程中,当它通过试探发现现有的分步答案不能得到有效的正确解答时,它将回溯返回上一步或者几步,然后尝试其他可能的分步答案,在dfs算法常用,一条路走到头,需要返回,就是回溯。 10....遗传算法(Genetic Algorithm): - 受自然选择和遗传学启发的搜索算法,通过迭代过程中的选择、交叉、变异等操作来优化解。 11....a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上一次的序列长度少1,最终只剩一个数字。

    10710

    C#基础搜索算法

    接着循环遍历数组, 把每个数组元素与存储在变量内的数值进行比较. 如果访 问到的数值大于当前, 就进行替换....那么为了优化多次搜索过程的效率, 可以在找到目标元素后把它移动到数据的靠前的位置 提高下一次搜索它们的速度....: 越频繁搜索的元素位置越靠前, 而不是每次都将其放置到第一位 已经比较靠前面的元素, 其搜索速度已经可以接受, 不需要再进行自组织优化了, 减少数据交换带来的不必要开销 根据以上思路, 对于第一点...为了理解二叉搜索的工作原理, 请假设你正试图猜测由朋友选定的一个在1 至100 之间的数字. 对于每次你所做的猜测, 朋友都会告诉你是猜对了, 还是猜大了, 或是猜小了. 最好的策略是第一次猜50....递归二叉搜索算法 尽管上节中的二叉搜索算法函数可以正确工作, 但它其实不是解决类似搜索问题的常规方案.

    1K20

    LT【深入Java虚拟机】之八:Java垃圾收集机制

    弱引用:它也是用来描述非需对象的,但它的强度比软引用更弱些,被弱引用关联的对象只能生存岛下一次垃圾收集发生之前。当垃圾收集器工作时,无论当前内存是否足够,都会回收掉只被弱引用关联的对象。...根搜索算法     Java和C#中都是采用根搜索算法来判定对象是否存活的。...实际上,在根搜索算法中,要真正宣告一个对象死亡,至少要经历两次标记过程:如果对象在进行根搜索后发现没有与GC Roots相连接的引用链,那它会被第一次标记并且进行一次筛选,筛选的条件是此对象是否有必要执行...finalize()方法是对象逃脱死亡命运的最后一次机会(因为一个对象的finalize()方法最多只会被系统自动调用一次),稍后GC将对F-Queue中的对象进行第二次小规模的标记,如果要在finalize...复制算法     复制算法是针对标记—清除算法的缺点,在其基础上进行改进而得到的,它讲课用内存按容量分为大小相等的两块,每次只使用其中的一块,当这一块的内存用完了,就将还存活着的对象复制到另外一块内存上面

    41210

    数学建模--禁忌搜索

    选择和更新:在候选集中选择评价值最佳的解 xnextxnext​,并更新禁忌表 HH。 终止条件:如果满足终止条件(如达到最大迭代次数或解的质量不再提升),则停止计算;否则,进入下一次迭代。...禁忌表的管理:禁忌表需要动态更新,每次迭代后将新的禁忌对象加入表中,并移除最旧的对象以保持表的长度固定。 邻域搜索策略:根据具体问题的特点设计邻域结构,确保能够覆盖足够的搜索空间。...自适应禁忌搜索算法(Adaptive Tabu Search, ATS)采用多邻域随机变换策略,每次随机选择一种邻域对当前解进行变换,以获取候选解。...这样可以在每次对禁忌表进行更新时同时更新缓存数组,从而提高查询效率。 可以采用随机动态禁忌期限或系统性动态禁忌期限两种方式来确定禁忌期限。...永久禁忌表中的点在接下来的迭代过程中不再作为初始值,而暂时禁忌表中的点只在一定迭代次数之内禁忌被作为初始值,过了一定迭代次数后,这些点就可以成为迭代初始值,用来构建候选解邻域。

    9610

    【地铁上的面试题】--基础部分--数据结构与算法--排序和搜索算法

    排序算法可以用于对大量数据进行排序,提高数据的检索效率和处理速度。搜索算法则可以在各种应用中快速定位和获取所需信息,如在数据库中查找特定记录、在搜索引擎中查找相关结果、在图形图像处理中寻找特定图像等。...在优化后的快速排序算法中,使用尾递归或迭代方式可以将空间复杂度降低为O(logn)。 Tip:快速排序是一种原地排序算法,即不需要额外的空间来存储排序结果,而是在原始数组上进行排序。...可以使用自底向上的方法进行构建堆,从最后一个非叶子节点开始,逐步调整每个子树,这样可以减少构建堆的时间复杂度。 堆化过程优化:在调整堆的过程中,可以使用迭代方式替代递归方式,以减少函数调用的开销。...在最坏情况为O(log n),当目标元素位于数组的两端时,每次迭代都将搜索范围缩小一半,因此需要进行log n次迭代才能找到目标元素。...例如,在每次遍历邻接节点之前,可以先检查是否已经访问过,或者根据特定条件判断是否需要继续搜索该路径。 2.5 比较各搜索算法的适用场景和优缺点 不同的搜索算法在不同的场景下具有各自的优势和劣势。

    25210

    干货 | Adaptive Large Neighborhood Search入门到精通超详细解析-概念篇

    1.0 什么是Neighborhood Search(NS) 邻域搜索算法(或称为局部搜索算法)是一类非常广泛的改进算法,其在每次迭代时通过搜索当前解的“邻域”找到更优的解。...邻域搜索算法设计中的关键是邻域结构的选择,即邻域定义的方式。 根据以往的经验,邻域越大,局部最优解就越好,这样获得的全局最优解就越好。 但是,与此同时,邻域越大,每次迭代搜索邻域所需的时间也越长。...在第5行中,评估新解xt的好坏,并以此确定该新解xt是否应该成为当前新的解决x(第6行)。评估的方式因具体程序而异,可以有很多种。最简单的评估方式就只接受那些变得更优的解。...前面说过,ALSN对LNS进行了扩展,它允许在一次搜索中搜索多个邻域(使用多组不同的destroy和repair方法)。至于搜索哪个邻域呢,ALSN会根据邻域解的质量好坏,动态进行选择调整。...这里也给大家说一说: 在ALNS完成一次迭代搜索以后,我们使用下面的函数为每组destroy和repair方法的好坏进行一个评估: [1240] 其中,ω1≥ω2≥ω3≥ω4≥0。

    1.7K21

    干货 | 自适应大邻域搜索入门到精通超详细解析-概念篇

    1.0 什么是Neighborhood Search(NS) 邻域搜索算法(或称为局部搜索算法)是一类非常常见的改进算法,其在每次迭代时通过搜索当前解的“邻域”找到更优的解。...邻域搜索算法设计中的关键是邻域结构的选择,即邻域定义的方式。 根据以往的经验,邻域越大,局部最优解就越好,这样获得的全局最优解就越好。 但是,与此同时,邻域越大,每次迭代搜索邻域所需的时间也越长。...在第5行中,评估临时解x^t的好坏,并以此确定该临时解x^t是否应该成为当前新的解x(第6行)。 评估的方式因具体程序而异,可以有很多种。最简单的评估方式就只接受那些变得更优的解。...前面说过,ALNS对LNS进行了扩展,它允许在一次搜索中搜索多个邻域(使用多组不同的destroy和repair方法)。至于搜索哪个邻域呢,ALNS会根据邻域解的质量好坏,动态进行选择调整。...这里也给大家说一说: 在ALNS完成一次迭代搜索以后,我们使用下面的函数为每组destroy和repair方法的好坏进行一个评估:[1] ? 其中,ω_1≥ω_2≥ω_3≥ω_4≥0。为自定的参数。

    2.8K51

    论文|可用于实时应用的启发式搜索

    唯一的不同点是在α剪枝算法中,中止阈值由前沿点最小值动态决定和调整的,而不是由先前在IDA *中迭代预先静止和设置的。...然后在每一个移动循环,问题解决者通过g+h的最小值选择下一个状态,向它移动,并且再一次更新OPEN上所有状态的g值。 这种单纯实现的缺点是:1)在OPEN列表中时间的大小是进行线性移动的。...2)不是非常的清楚如何更新g的值,3)不清楚如何如何从OPEN中选择下一个目标节点的路径。有趣的是,在恒定的时间中,每次只使用图中本地的信息移动就可以解决这些问题。...因为在于Manhattan Distance在一次移动中只会改变一次,而这会让RTA*在追溯一次就终止。 ? 7.解决方法的质量 除了算法的效率之外,由最小前馈搜索所带来的解决方法长度也是关注的焦点。...via:aaai.org 哈尔滨工业大学李衍杰副教授的点评:由于传统单智能体启发式搜索算法,如A*算法,计算量比较大,且需要搜索完最终结果后才能执行,因而不适用于实时性要求比较高的场合,为此,这篇论文研究了实时启发性搜索的问题

    1.3K70

    Optimization of Machine Learning

    随机梯度下降SGD,随机选取几个进行迭代,可能迭代的方向会有偏差,但是随着时间流逝大方向还是一样的。代码实现前面的logistics regression中已经有了,不再重复。...如果更通俗地说的话,比如你想找一条最短的路径走到一个盆地的最底部,梯度下降法每次只从你当前所处位置选一个坡度最大的方向走一步,牛顿法在选择方向时,不仅会考虑坡度是否够大,还会考虑你走了一步之后,坡度是否会变得更大...二分搜索也叫精确搜索,因为这样不断的迭代下去是可以很精确的搜索到一个合适的值,使用二分查找法来求步长的计算复杂度很高, 因为在最小化f(x)f(x)的每次迭代中我们都需要执行一次线搜索, 而每次线搜索都要用上述的二分查找算法...梯度下降的步长也是可以通过这种方式进行选择最优步长,牛顿法用Armijo搜索的方法是可以得到全局牛顿法,也叫阻尼牛顿法,这样可以使得迭代方向可以避免向错误的方向进行,增加点阻力。...近似矩阵有很多种,如果按照上面那种方式进行计算,复杂度没有降多少,所以比较常见的方法就是迭代计算,比较常见的迭代方式: ? 那么接下来问题来了, ? 要这么设计。一般给出的设计就是 ?

    50720

    程序员必须要掌握的十大经典算法

    递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会退出,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。...这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο(logn) 。...深度优先搜索是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以方便的解决很多相关的图论问题,如最大路径问题等等。一般用堆数据结构来辅助实现DFS算法。...接着,退回一步,退到前一次刚访问过的顶点,看是否还有其它没有被访问的邻接顶点。如果有,则访问此顶点,之后再从此顶点出发,进行与前述类似的访问;如果没有,就再退回一步进行搜索。...动态规划算法正是利用了这种子问题的重叠性质,对每一个子问题只计算一次,然后将其计算结果保存在一个表格中,当再次需要计算已经计算过的子问题时,只是 在表格中简单地查看一下结果,从而获得较高的效率。

    6.6K141

    10大计算机经典算法「建议收藏」

    递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会退出,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。...这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο(logn) 。...深度优先搜索是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以方便的解决很多相关的图论问题,如最大路径问题等等。一般用堆数据结构来辅助实现DFS算法。...接着,退回一步,退到前一次刚访问过的顶点,看是否还有其它没有被访问的邻接顶点。如果有,则访问此顶点,之后再从此顶点出发,进行与前述类似的访问;如果没有,就再退回一步进行搜索。...动态规划算法正是利用了这种子问题的重叠性质,对每一个子问题只计算一次,然后将其计算结果保存在一个表格中,当再次需要计算已经计算过的子问题时,只是在表格中简单地查看一下结果,从而获得较高的效率。

    4.3K10

    程序员必须知道的十大基础实用算法及其讲解

    递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会退出,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。...这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο(logn) 。...深度优先搜索是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以方便的解决很多相关的图论问题,如最大路径问题等等。一般用堆数据结构来辅助实现DFS算法。   ...接着,退回一步,退到前一次刚访问过的顶点,看是否还有其它没有被访问的邻接顶点。如果有,则访问此顶点,之后再从此顶点出发,进行与前述类似的访问;如果没有,就再退回一步进行搜索。...动态规划算法正是利用了这种子问题的重叠性质,对每一个子问题只计算一次,然后将其计算结果保存在一个表格中,当再次需要计算已经计算过的子问题时,只是在表格中简单地查看一下结果,从而获得较高的效率。

    1K80

    数据分析师不可不知的10大基础实用算法及其讲解

    递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会退出,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。 ?...这种搜索算法每一次比较都使搜索范围缩小一半。折半搜索每次把搜索区域减少一半,时间复杂度为Ο(logn) 。...深度优先搜索是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以方便的解决很多相关的图论问题,如最大路径问题等等。一般用堆数据结构来辅助实现DFS算法。...接着,退回一步,退到前一次刚访问过的顶点,看是否还有其它没有被访问的邻接顶点。如果有,则访问此顶点,之后再从此顶点出发,进行与前述类似的访问;如果没有,就再退回一步进行搜索。...动态规划算法正是利用了这种子问题的重叠性质,对每一个子问题只计算一次,然后将其计算结果保存在一个表格中,当再次需要计算已经计算过的子问题时,只是在表格中简单地查看一下结果,从而获得较高的效率。

    1.2K80

    10分钟彻底理解自适应大邻域搜索算法

    应用场景 1.外卖场景:搜索订单分配骑手的最优方案 2.派单场景:搜索订单分配司机的最优方案 3.车辆路径问题 同类算法 在邻域搜索算法中,有的算法可以只使用一种邻域,如「模拟退火算法」,因此它仅仅搜索了解空间的一小部分...,找到全局最优的概率较小,它的优势之一是可以避免陷入局部最优; 而有的算法可以使用多种算子,如「变邻域搜索算法」(VNS),它通过在当前解的多个邻域中寻找更满意的解,能够大大提高算法在解空间的搜索范围,...但是它在使用算子时盲目地将每种算子形成的邻域结构都搜索一遍,缺少了一些启发式信息的指导; 而「自适应大邻域搜索算法」就弥补了这种不足,这种算法根据算子的历史表现与使用次数选择下一次迭代使用的算子,通过算子间的相互竞争来生成当前解的邻域结构...返回最优解X1 每次迭代就是从初始解中删除N个点,然后依次将删除的点重新插入,得到一个新的解,即当前解的邻域解;重复上述迭代过程,得到一个成本(cost)最低的一个解,即最优解。...在搜索的过程中,「ALNS」会对各个destroy和repair方法的权重进行「动态调整」,以便获得更好的邻域和解。

    2.8K10
    领券