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

漫画:如何在数组中找到和为 “特定值” 的两个数?

我们来举个例子,给定下面这样一个整型数组(题目假定数组不存在重复元素): 我们随意选择一个特定值,比如13,要求找出两数之和等于13的全部组合。...由于12+1 = 13,6+7 = 13,所以最终的输出结果(输出的是下标)如下: 【1, 6】 【2, 7】 小灰想表达的思路,是直接遍历整个数组,每遍历到一个元素,就和其他元素相加,看看和是不是等于那个特定值...第1轮,用元素5和其他元素相加: 没有找到符合要求的两个元素。 第2轮,用元素12和其他元素相加: 发现12和1相加的结果是13,符合要求。 按照这个思路,一直遍历完整个数组。...在哈希表中查找7,查到了元素7的下标是7,所以元素6(下标是2)和元素7(下标是7)是一对结果: 按照这个思路,一直遍历完整个数组即可。...= i) { resultList.add(Arrays.asList(i,map.get(other))); //为防止找到重复的元素对

3.1K64

漫画:如何在数组中找到和为 “特定值” 的三个数?

这一次,我们把问题做一下扩展,尝试在数组中找到和为“特定值”的三个数。 题目的具体要求是什么呢?给定下面这样一个整型数组: ? 我们随意选择一个特定值,比如13,要求找出三数之和等于13的全部组合。...我们以上面这个数组为例,选择特定值13,演示一下小灰的具体思路: 第1轮,访问数组的第1个元素5,把问题转化成从后面元素中找出和为8(13-5)的两个数: ? 如何找出和为8的两个数呢?...第3轮,访问数组的第3个元素6,把问题转化成从后面元素中找出和为7(13-6)的两个数: ? 以此类推,一直遍历完整个数组,相当于求解了n次两数之和问题。 ?     ...这样说起来有些抽象,我们来具体演示一下: 第1轮,访问数组的第1个元素1,把问题转化成从后面元素中找出和为12(13-1)的两个数。 如何找出和为12的两个数呢?...此时双指针重合在了一起,如果再继续移动,就有可能和之前找到的组合重复,因此我们直接结束本轮循环。 第2轮,访问数组的第2个元素2,把问题转化成从后面元素中找出和为11(13-2)的两个数。

2.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【计算理论】计算复杂性 ( NP 完全问题 | 顶点覆盖问题 | 哈密顿路径问题 | 旅行商问题 | 子集和问题 )

    G , \rm G 的 点集覆盖 定义 : 找到 无向图 \rm G 的 点集子集 \rm V , 使得 无向图 \rm G 中的任何一条边 , 都与 点集子集 \rm V 的至少一个节点是接触的...完全问题 ; 二、哈密顿路径问题 ---- 哈密顿路径问题在图论中是很重要的问题 ; 在下图中 , 从某个顶点出发 , 将所有的顶点都走一遍, 并且每个顶点只能经过一次 , 经过所有顶点的 圈 称为...哈密顿圈 , 经过所有顶点的 道路 称为 哈密顿道路 , 又称为 哈密顿路径 ; 哈密顿路径问题 就是 找到无向图中的哈密顿路径 ; 涉及到的其它概念 : … 途径 : 顶点和边的交替出现的序列...与 哈密顿圈 ; 哈密顿路径问题 是 \rm NP 完全的 ; 无向图中哈密顿路径是否存在 , 该问题也是 \rm NP 完全的 ; 前者是求出具体的哈密顿路径 , 后者求哈密顿路径是否存在...; 三、旅行商问题 ---- 旅行商问题 : 无向图中 , 每条边都有一个权重 , 求是否有一条哈密顿路径的权重之和 , 不超过给定的自然数 \rm W ; 旅行商问题 是 \rm NP 完全的

    1.8K00

    有望解决一个千禧年大奖难题,这个20多年前的猜想终于得到证明

    图论中有一个核心问题:寻找能刚好经过图中每个点一次的路径,之后再回到起点。...但在另一些图中,不管你多么努力想要找到一条哈密顿回路,你都无法做到:也许你会被困在图中某个孤立的范围内,没有前往所有点的路径,也可能你会被迫多次经过某些点。...图中左和中图各描绘了一个哈密顿回路,而右图中则无法找到哈密顿回路。...拣选网络是指包含两个匹配集合 A 和 B 的图。拣选网络的结构比较特别:无论将 A 与 B 中的节点怎么配对,都有可能找到能将 A 中每个节点与 B 中对应节点连接起来的不相交路径。...数学家仍在继续努力,希望找到扩展因子 c 可能存在的最低边界值,以及证明一类范围更广的图(tough graphs)必定包含哈密顿回路。

    11410

    离散数学笔记第五章(图论 )

    u,v-迹仅在最后访问 v ;同时,在这一序列的 u,v-迹中,不是路径的迹的条数是偶数。...类似地,有如下定理:一个有向图是有向欧拉图当且仅当这个图中每个顶点的出度和入度相等。 [1] 哈密顿图 与欧拉图的情形不同,还未找到判断一个图是否是哈密顿图的非平凡的充要条件。...事实上这是图论中尚未解决的主要问题之一。哈密顿图有很多充分条件,例如, (1)若图的最小度不小于顶点数的一半,则图是哈密顿图; (2)若图中每一对不相邻的顶点的度数之和不小于顶点数,则图是哈密顿图。...定理3: 在n(n≥2)阶有向图D=中,如果所有有向边均用无向边代替,所得无向图中含生成子图Kn,则有向图中存在哈密顿图。 推论: n(n≥3)阶有向完全图为哈密顿图。...哈密顿路径也称作哈密顿链,指在一个图中沿边访问每个顶点恰好一次的路径。寻找这样的一个路径是一个典型的NP-完全(NP-complete)问题。

    89030

    离散数学图论

    不是完全图的简单图则称为noncomplete。 cycle:如字面意义。记号为Cn。 wheels:即Cn的中间加上一个中心点,且这个中心点和四角相连。...引出来:判断图的同构要用邻接矩阵表示。然后对两个矩阵分别按行计次和按列计次(记!=0的元素个数),分别得到h1,l1,h2,l2为行向量/列向量。...用邻接矩阵乘法可以判断路径。A^n对应位置(i,j)的元素就是在原来图中i到j的路径,n是路径长度。例如,n=2时矩阵里的不为0的元素对应的就是i到j长度=2的路径数目。...解法比较直观,即找到权值最小的边的两个顶点出发,每一步都是贪心取最小权值直到走完这个图并且回到顶点。将这两个顶点的路径对比,权值较小的那一个就是权值和最小的哈密顿回路。...我们从这里开始寻找从source到sink(终点)的一条路径,找到这条路径之后获得路径这多条弧上(记得其方向性,反方向的不在路径上)的最小数字m,将路径上所有按原方向的弧的数都减去m,与此同时,将反方向的弧的数都加上

    2.5K30

    『ACM-算法-图论』算法竞赛进阶指南--hamilton路径(模板)

    写在前面:我们主要还是分享算法的模板,而不是去刨析算法的原理!...什么是哈密尔顿路径 哈密顿图(哈密尔顿图)(英语:Hamiltonian graph,或Traceable graph)是一个无向图,由天文学家哈密顿提出,由指定的起点前往指定的终点,途中经过所有其他节点且只经过一次...在图论中是指含有哈密顿回路的图,闭合的哈密顿路径称作哈密顿回路(Hamiltonian cycle),含有图中所有顶点的路径称作哈密顿路径(Hamiltonian path)。...天文学家哈密顿(William Rowan Hamilton) 提出,在一个有多个城市的地图网络中,寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。...这个问题和著名的七桥问题的不同之处在于,过桥只需要确定起点,而不用确定终点。哈密顿问题寻找一条从给定的起点到给定的终点沿 途恰好经过所有其他城市一次的路径。

    1.5K20

    组装算法:为什么是k-mer?

    ,使得可以经过所有的点并且每个点只经过一次,也即一个哈密顿路径(Hamiltonian path)问题。...此算法的缺陷在于哈密顿路径本身所带来的NP难题(对于一个网络图中是否存在一条哈密顿路,没有可靠的充分必要条件),从而导致解决问题的时间过长。...与OLC算法不同,DBG算法将组装过程转换为一个在De Bruijn图中寻找欧拉路径(Eulerian path)的问题(从某点出发经过且只经过一次所有的边),而欧拉路径是P类问题,即有可靠的充要条件证明欧拉路径的存在...1个碱基序列与w的前k-1个碱基序列相同,则建立一条由u指向w的有向边; ③在De Bruijn图中寻找欧拉路径来获得结果序列Contigs。...采用DBG算法,通过k-1的overlap关系,构建DBG图,通过寻找欧拉路径得到Contig序列,算法可靠性更高,两者的区别如下所示: DBG算法将哈密顿路径问题转化为欧拉路径问题的关键在于De Bruijn

    1.4K30

    【图论】简单 概念 及 公式 入门 ( 完全图 | 二部图 | 连通图 | 欧拉回路 | 哈密顿圈 | 平面图 | 欧拉定理 )

    ] 八、 欧拉定理 九、 哈密顿圈 ( 闭路 / 圈 ) [ 遍历图中所有的顶点 | 每个顶点只经过一次 ] 十、 哈密顿圈 相关定理 十一、 平面图 十二、 面的次数 与 边数 定理 ( 面次数之和..., 面的次数之和 等于 边数 的两倍 ; 有限平面图中 , 边在平面中划分的区域成为面 , 包围每个面的边的个数成为面的次数 , 又称为面的度数 ; 有限区域 : 有限面 , 三角形内部的面 无线区域...: 将其它顶点用虚线连起来 , 虚线部分是上图的补图 ; 3.找哈密顿道路 : 在 补图中 中找到一个哈密顿道路 即可 , 道路沿线顶点就是每天考试课程 ; 黑色的边是共同选修的课程连接在一起 ; 红色的边是补图...; 从红色边中找出一个哈密顿圈 , 对应的哈密顿道路就是结果 ; 哈密顿圈中 , 每个顶点都不能重复 ; 哈密顿道路为 : B \to D \to F \to A \to E \to C ----...★ 握手定理推论 : 奇数个顶点的个数 必定是 偶数个 ; ★ 图 G 中 顶点的个数是奇数个 , 每个顶点的度是奇数 , 与握手定理 及 推论 冲突 , 假设不成立 ; 因此这种多面体不存在

    1.7K10

    【数据结构】图论基础

    无向图(Undirected Graph): 无向图中的边没有方向,表示两个顶点之间的对称关系,如“相邻”或“连接”。...加权图(Weighted Graph): 图中的每条边带有一个权重,用来表示顶点之间的某种度量,如距离、成本或容量。...欧拉图和哈密顿图 欧拉路径(Eulerian Path):经过图中每条边一次且仅一次的路径。如果这样的路径是闭合的,即路径的起点和终点相同,则称为欧拉回路(Eulerian Circuit)。...哈密顿路径(Hamiltonian Path):经过图中每个顶点一次且仅一次的路径。如果这样的路径是闭合的,则称为哈密顿回路(Hamiltonian Circuit)。...注意:头插之后需要改变头的位置 总结 通过本篇文章的介绍,我们初步了解了图的基本概念、图的表示方法(如邻接矩阵和邻接表)、以及图中的各种基本性质。

    14610

    【计算理论】计算理论总结 ( P 、NP 、NPC 总结 ) ★★

    \rm k 团 , \rm k 个节点两两之间有边相连 ; ④ 独立集问题 ⑤ 顶点覆盖问题 ⑥ 哈密顿路径问题 ⑦ 旅行商问题 ⑧ 子集和问题 3 ....\rm NP 类中 , 既不属于 \rm P , 又不属于 \rm NPC 的问题也是存在的 , 如 : ★ ① 图同构问题 参考博客 : 【计算理论】计算复杂性 ( P 类 | 有效算法函数...【计算理论】计算复杂性 ( 3-SAT 是 NP 完全问题 | 团问题是 NP 完全问题 | 团问题是 NP 完全问题证明思路 ) 【计算理论】计算复杂性 ( NP 完全问题 | 顶点覆盖问题 | 哈密顿路径问题...\rm k 团 , \rm k 个节点两两之间有边相连 ; ④ 独立集问题 ⑤ 顶点覆盖问题 ⑥ 哈密顿路径问题 ⑦ 旅行商问题 ⑧ 子集和问题 参考博客 : 【计算理论】计算复杂性 ( P 类...【计算理论】计算复杂性 ( 3-SAT 是 NP 完全问题 | 团问题是 NP 完全问题 | 团问题是 NP 完全问题证明思路 ) 【计算理论】计算复杂性 ( NP 完全问题 | 顶点覆盖问题 | 哈密顿路径问题

    1.2K00

    欧拉图和哈密顿图

    通路和回路 给定图G中结点和边相继交错出现的序列,其中V表示图中结点集合,E表示图中边的集合 若中边的两个端点是和 (==G是有向图时要求与分别是的起始点和终点==),i=1,2,3,.....基本通路(basic entry) 或 初级通路、路径(path) ,若回路中除 外的所有 结点 互不相同(从而所有边互不相同),则称此回路为 基本回路(basic circuit) 或者 初级回路...哈密顿图和哈密顿通路/回路 经过图中每个节点一次且仅一次的通路称为哈密顿通路(Hamiltonian entry/path) 经过图中每个节点一次且仅一次的回路称为哈密顿回路(Hamiltonian circuit.../cycle) 存在哈密顿回路的图称为哈密顿图(Hamiltonian graph) 哈密顿图既适合无向图也适合有向图 ==哈密顿通路是经过图中所有结点的通路中长度最短的通路,即通过图中所有结点的基本通路...== ==哈密顿回路是经过图中所有结点的通路中长度最短的回路,即通过图中所有结点的基本回路==

    97420

    计算机科学家找到了一种简单方法

    例如在图中,一个重要的问题是确定是否存在一条哈密顿路径,即存在一条路径通过且仅通过每个顶点一次。...设想一组只需要加法和乘法的特定问题。例如,给定一组点,可以仅通过加法和乘法,用关于点的数据来计算所有可能的哈密顿路径(如果存在的话)。 ...随着问题规模的增加,一些算术问题(如计算哈密顿路径)需要更多的时间。1979 年,哈佛大学的 Leslie Valiant 证明许多算术问题在「难度」上是等价的,而其他的则在「没有难度」上是等价的。...从数学上讲,这些问题完全可以写作多项式的形式(例如 x^2 + 5y + 6),这些多项式由相加和相乘的变量组成。 对于任何特定问题,例如计算哈密顿路径,你可以构建一个表示它的多项式。...为了证明计算哈密顿路径这样的算术问题很困难,就需要证明当添加更多点和边时,相应的多项式需要以指数时间解决更多操作。

    29620

    清北NOIP训练营集训笔记——图论(提高组精英班)

    这个过程的意义是,找到了一条通向B点更短的路线,且该路线是先经过点A,然后通过权重为2的边,到达点B 如果出现了以下情况: 5.jpg 松弛操作后,变为7,7>6,这样就不修改(Bellman Frod...强连通图:有向图中,任意一对点都满足强连通,则这个图被称为强连通图。 强联通分量:有向图中的极大强连通子图,就是强连通分量。...一般用Tarjan算法求有向图强连通分量: 欧拉路径与哈密顿路径: 1.欧拉路径:从某点出发一笔画遍历每一条边形成的路径。...有向图:每个顶点的入度都等于出度,则存在欧拉回路。 求欧拉路径/欧拉回路算法常常用Fleury算法: 在这里推荐一个不错的知乎作者:神秘OIe 2.哈密顿路径:每个点恰好经过一次的路径是哈密顿路径。...哈密顿回路:起点与终点之间有边相连的哈密顿路径是哈密顿回路。

    79110

    数据结构图的构建_逻辑结构图的数据结构表示

    例如:生态环境中不同物种的相互竞争、人与人之间的社交与关系网络、化学上用图区分结构不同但分子式相同的同分异构体、分析计算机网络的拓扑结构确定两台计算机是否可以通信、找到两个城市之间的最短路径等等。...路径(path):依次遍历顶点序列之间的边所形成的轨迹。注意,依次就意味着有序,先1后2和先2后1不一样。 简单路径:没有重复顶点的路径称为简单路径。...下面这个概念很重要: 图1-4:两个连通分支 连通的:无向图中每一对不同的顶点之间都有路径。如果这个条件在有向图里也成立,那么就是强连通的。...双连通图:不含任何关节点的图。 关节点的重要性不言而喻。如果你想要破坏互联网,你就应该找到它的关节点。同样,要防范敌人的攻击,首要保护的也应该是关节点。...当我们声称图的是稀疏的,我们近似地认为边的数量 ∣ E ∣ |E| ∣E∣大致等于顶点的个数 ∣ V ∣ |V| ∣V∣,在稠密图中,我们可以不难得到 ∣ E ∣ |E| ∣E∣近似为 ∣ V 2 ∣

    96320

    学界 | 清华大学段路明组提出生成模型的量子算法

    论文地址:https://arxiv.org/abs/1711.02038 量子计算领域的一个核心任务是找到量子计算机可以提供超越传统计算机实现指数级加速的应用场景。...图 S1:因子图和 QGM 的参数空间。a,两种模型都有多项式量级的参数的一种情况。在这种情况下,因子图不能代表 QGM 中的一些分布(如蓝色圆圈所示处)。...然后每个组使用一个物理索引(用 p 表示)和少量固定数量的虚拟索引(在图中用 i,j,k 表示)定义一个张量。 b,|Q(z)>的张量网络表示,其中为 a 中每个指定的组定义一个局部张量。...该图显示了如何在母哈密顿算子中构造一个项,该项对应于一组相邻的局部张量,例如 c 中的虚线框中的那些。...我们用一组相邻的张量构造每个局部项。每个局部张量可以涉及几个哈密顿量项(如虚线框和虚线框中的 c 所示),因此一些相邻组具有非空重叠,并且产生一般不交换的项。

    1.2K90

    . | 避免耗时的自洽场迭代,DeepH-hybrid推动从头计算方法领域发展

    相比传统的密度泛函,杂化泛函为解决DFT中的“带隙问题”(band-gap problem)提供了一条可行的路径,因此在可靠的材料预测中必不可少,尤其在计算研究光电学、自旋电子学、拓扑电子学等领域中非常有用...通过系统的数值实验测试,该方法展示了良好的性能,并进一步应用于研究莫尔扭曲超结构,如魔角扭曲双层石墨烯,展示了在大规模电子结构计算中达到杂化泛函精度的能力。...每个材料结构都与一个图相关联,图中的每个顶点表示一个原子,顶点之间的边连接在一定截止范围内的原子。与顶点和边关联的特征向量通过神经网络迭代更新,最终的边特征用于构建输出的跃迁矩阵。...相比之下,DeepH-hybrid仍能将计算成本减少多个数量级,并且其计算时间大致随系统规模线性增长,展示了神经网络方法的高效性。更全面的时间成本分析(包括数据集准备和神经网络优化时间)。...两个模型在测试集上的带隙平均误差为15.1和16.0 meV,比PBE和HSE泛函之间的带隙差异小了一个数量级。 图4c–f考察了从非扭曲双层MoS2到扭曲结构的泛化能力。

    12610

    LuoguP3209 平面图判定

    现在假设你要判定的是一类特殊的图是否是平面图,图中存在一个包含所有顶点的环,即存在哈密顿回路。...哈密顿回路指的是:在一个有 n 个点的图中,一条从点 x 出发,最后回到点 x,并且除点 x 外所有点都只出现一次,总长度为 n 的路径。...Solution 简单给出平面图的定义:无向图画在同一个平面上,任意两边没有交点。 对于每一条边,只有两种情况: 在哈密顿回路上,那么这条边无需其他判断。...在哈密顿回路外/里,那么这条边有两种选择:要么在外部,要么在里面。 由于第二种情况的两种选择,以及平面图的限制,这就转化为了个经典的 2-SAT 问题。...=p;i++) for(j=i+1;j<=p;j++){//枚举两条边 u=rk[e[i].x],v=rk[e[i].y],x=rk[e[j].x],y=rk[e[j].y];//rk表示点在哈密顿回路上的序号

    41020

    数据结构与算法基础-(3)

    他不仅解决了此问题,且给出了连通图可以一笔画的充要条件是: ⒈任意点连接的边数为偶数 ⒉拥有奇数边点的个数为2或0. ⒊其他情况的图都不能一笔画出。(奇点数除以二便可算出此图需几笔画成。)...故事案例: 1859 年,爱尔兰数学家哈密尔顿(Hamilton)提出了一个“周游世界”的游戏 下图中(a),哈密顿提出的「周游世界」的游戏。把一个正十二面体的二十个顶点看成地球上的二十个城市。...要求游戏者沿棱线走,寻找一条经过所有结点一次且仅一次的回路,(b)是其哈密顿图,哈密顿回路由实线标出。...简而言之,哈密尔顿回路是指,从图中的一个顶点出发,沿着边行走,经过图的每个顶点,且每个顶点仅访问一次,之后再回到起始点的一条路径。...) ,N 为图的顶点的个数。 O ( N ! ) 是一个非常高的复杂度,它并不是一个多项式级别的复杂度。

    12710

    最全的JavaScript 算法与数据结构

    快速排序 B 希尔排序 B 计数排序 B 基数排序 树 B 深度优先搜索 (DFS) B 广度优先搜索 (BFS) 图 B 深度优先搜索 (DFS) B 广度优先搜索 (BFS) A 戴克斯特拉算法 - 找到图中所有顶点的最短路径...A 贝尔曼-福特算法 - 找到图中所有顶点的最短路径 A 弗洛伊德算法 - 找到所有顶点对 之间的最短路径 A 判圈算法 - 对于有向图和无向图 (基于DFS和不相交集的版本) A 普林演算法 - 寻找加权无向图的最小生成树..., 不考虑以后情况 B 跳跃游戏 A 背包问题 A 戴克斯特拉算法 - 找到所有图顶点的最短路径 A 普里姆算法 - 寻找加权无向图的最小生成树 (MST) A 克鲁斯卡尔算法 - 寻找加权无向图的最小生成树...A 整数拆分 A 最大子数列 A 弗洛伊德算法 - 找到所有顶点对之间的最短路径 A 贝尔曼-福特算法 - 找到所有图顶点的最短路径 回溯法 - 类似于 BF算法 试图产生所有可能的解决方案, 但每次生成解决方案测试如果它满足所有条件...B 跳跃游戏 B 独特路径 A 哈密顿图 - 恰好访问每个顶点一次 A 八皇后问题 A 骑士巡逻 A 组合求和 - 从规定的总和中找出所有的组合 Branch & Bound 如何使用本仓库 安装依赖

    1.4K10
    领券