![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 85
木羊子羽
源于点滴,记载其源
展开
-
数据结构--求某点到所有点最小的距离,题目变种(糖果传递,士兵)
给你一组点的位置,求某个位置到所有点的距离最小是多少,最小值就是(所有点到其中位数的距离之和), 122. 糖果传递 - AcWing题库有 n个小朋友坐成一圈,每人有 a[i]个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为 1。求使所有人获得均等糖果的最小代价。输入格式第一行输入一个正整数 nn,表示小朋友的个数。接下来 nn 行,每行一个整数 a[i]a[i],表示第 ii 个小朋友初始得到的糖果的颗数。输出格式输出一个整数,表示最小代价。数据范围1≤n≤10000001≤原创 2022-08-07 22:27:51 · 702 阅读 · 0 评论 -
数据结构---如何判定链表是否有环
当链表存在环时,通过直接遍历链表无法知道是否存在环。假设我们可以修改链表结构的话,可以在链表里加入访问的标记,当下一个节点已经被访问过就说明存在环。方法一、穷举遍历首先从头节点开始,依次遍历单链表的每一个节点。每遍历到一个新节点,就从头节点重新遍历新节点之前的所有节点,用新节点ID和此节点之前所有节点ID(即重新遍历len-1步)依次作比较。如果发现新节点之前的所有节点当中存在相同节点ID,则说明该节点被遍历过两次,链表有环;如果之前的所有节点当中不存在相同的节点,就继续遍历下一个新节点,继..原创 2022-03-29 23:34:36 · 7336 阅读 · 0 评论 -
数据结构--线段树
什么是线段树?线段树是一种二叉树,广义上也被归类为二叉搜索树。与区间树类似,将一个区间划分成一些单元区间,每个单元区间(区间长度为1)对应线段树中的一个叶结点。对于区间的修改、维护和查询时间复杂度为O(logN)级别,实际应用时一般还要开4N的数组以免越界。线段树的局限性:必须符合区间加法。区间加法是指对于[l,r]的区间,它的答案可以由[l,m]和[m+1,r]的答案合并求出。符合区间加法的例子: 区间之和——总区间之和 = 左区间之和 + 右区间之和最大公因数(GCD)—原创 2022-03-27 19:01:59 · 132 阅读 · 0 评论