天翼云算法知识文档专栏是天翼云为开发者提供的互联网技术内容平台。内容涵盖算法相关内容资讯。开发者在算法专栏是可以快速获取到自己感兴趣的技术内容,与其他开发者们学习交流,共同成长。
最佳的碰头地点。 有一队人(两人或以上)想要在一个地方碰面,他们希望能够最小化他们的总行走距离。 给你一个 2D 网格,其中各个格子内的值要么是 0,要么是 1。
给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。
规定:L[1]对应a,L[2]对应b,L[3]对应c,…,L[25]对应y。
给定某二叉树的前序遍历和中序遍历,且前序遍历和中序遍历当中无重复元素,请重建出该二叉树并返回它的头结点。
考研数据结构之查找(9.8)——练习题之使用散列函数H(k)= 3k mod 11并采用链地址法处理冲突并构造散列表及设计散列表的完整算法(C表示)
所有黑洞的中心点记录在holes数组里, 比如[[3,5] [6,9]]表示,第一个黑洞在(3,5),第二个黑洞在(6,9), 并且所有黑洞的中心点都在左下角(0,0),右上角(x,y)的区域里
它的基本思路是:从表的一端开始,顺序扫描线性表,依次将扫描到的关键字和给定值k比较,若当前扫描的关键字与k相等,则查找成功,若扫描结束,仍未发现关键字等于k的记录,则查找失败。
下一个排列。实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列(即,组合出下一个更大的整数)。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。
给定一棵树的头节点head,原本是一棵正常的树, 现在,在树上多加了一条冗余的边, 请找到这条冗余的边并返回。
做甜点需要购买配料,目前共有n种基料和m种配料可供选购。 制作甜点需要遵循以下几条规则: 必须选择1种基料;可以添加0种、1种或多种配料,每种类型的配料最多添加2份, 给定长度为n的数组base, base[i]表示第i种基料的价格,给定长度为m的数组topping, topping[j]表示第j种配料的价格,给定一个正数target,表示你做的甜点最终的价格要尽量接近这个数值。
[0,4,7] : 0表示这里石头没有颜色,如果变红代价是4,如果变蓝代价是7,[1,X,X] : 1表示这里石头已经是红,而且不能改颜色,所以后两个数X无意义
在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合, 然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于那个集合的运算。适合于描述这类问题的抽象数据类型称为 并查集(union-find set)。
红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是 红色(Red) 或 黑色(Black)。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。
二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。
【数据结构】二叉树的实现&&OJ练习
在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(C++11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身
二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树
C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。
输入一个二叉树的中序和后序遍历,请你输出一个叶子节点,该叶子节点到根的数值总和最小,且这个叶子是编号最小的那个。
最短独占单词缩写。 给一个字符串数组strs和一个目标字符串target。target的简写不能跟strs打架。
2024-06-27 09:20:52
2023-02-13 07:38:09
2022-11-17 12:37:20
2022-11-17 12:37:20
2023-02-13 08:10:07
2024-07-01 01:30:59