• 2024-10-02题解:CF2009E Klee's SUPER DUPER LARGE Array!!!
    设\(m\)为\(a_1+\dots+a_i\),\(n\)为\(a_{i+1}+\dots+a_n\)。我们可以使用二分查找来搜索\(i\),使得\(m-n\)为最小的负数。如果我们移动到\(i+1\),则此时\(m-n\)为最小的整数。答案是两种情况下的最小绝对值。代码:#include<bits/stdc++.h>usingnamespacestd;pair<
  • 2024-09-28代码随想录算法训练营Day03-链表 | LC203移除链表元素、LC707设计链表、LC206反转链表 | Java代码实现
    目录前言LeetCode203.移除链表元素思路完整代码LeetCode707.设计链表思路完整代码LeetCode206.反转链表思路完整代码今日总结前言拖延症犯了,哈哈,拖了一天LeetCode203.移除链表元素给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val
  • 2024-09-27跳表的理解以及使用
    文章目录背景数组-链表优化链表随机访问的方法介绍跳表的理解层数随机为什么随机可以保证效率实现细节跳表与二分查找跳表与红黑数跳表与HASH使用实现随机层数的实现跳表实现以及测试背景数组-链表数组优点随机访问速度较快(基于下标访问)。实现简单,使用简单。
  • 2024-09-25Study Plan For Algorithms - Part42
    1.删除排序链表中的重复元素给定一个已排序的链表的头head,删除所有重复的元素,使每个元素只出现一次。返回已排序的链表。classSolution:defdeleteDuplicates(self,head:Optional[ListNode])->Optional[ListNode]:ifnothead:returnhe
  • 2024-09-2019080 反转链表
    ###思路1.初始化三个指针:`prev`(前驱节点),`curr`(当前节点),`next`(后继节点)。2.遍历链表,将当前节点的`next`指针指向前驱节点,实现反转。3.移动三个指针,继续反转下一个节点,直到遍历完整个链表。4.最后,将头节点指向新的头节点(即原链表的最后一个节点)。###伪代码```funct
  • 2024-09-18Python 桌宠代码
    importtkinter#导入tkinterGUI库importos#导入os库用于文件路径操作importrandom#导入random库用于随机选择fromplatformimportsystem#导入系统模块以检测操作系统fromPILimportImage,ImageTk#导入Pillow库用于处理图像透明背景#定
  • 2024-09-10每日算法随笔:反转链表
    题解:反转链表这道题目要求我们将一个单链表进行反转,返回反转后的链表。链表的反转可以通过迭代和递归两种方法来实现。下面我们将详细解释这两种方法,并通过例子演示每一步的变化过程。方法一:迭代法思路:我们用三个指针来完成链表的反转:prev表示前一个节点,curr表示当前节
  • 2024-09-05CodeForces 2009G Yunli's Subarray Queries 题解
    云璃!高质量Div.4,吊打某些Div.2Only/Edu/Div.3。本题是下面四道题目的有机结合,优雅且经典。LuoguP4168[Violet]蒲公英|LuoguP1997faebdc的烦恼|LuoguP3203[HNOI2010]弹飞绵羊|LuoguP3246[HNOI2016]序列建议先完成这四题。(必须指出:用蒲公英的分块方
  • 2024-09-03Study Plan For Algorithms - Part20
    1.组合总和题目链接:https://leetcode.cn/problems/combination-sum/给定一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。classSolution:defcombinationSum(self,ca
  • 2024-08-25Study Plan For Algorithms - Part11
    1.合并两个有序链表题目链接:https://leetcode.cn/problems/merge-two-sorted-lists/将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。classSolution:defmergeTwoLists(self,list1:Optional[ListNode],list2:Option
  • 2024-08-11python 如何获取当前时间
    python如何获取当前系统的时间1、导入包import datetime2、获取当前的时间curr_time = datetime.datetime.now()# 2019-07-06 14:55:56.873893 <class 'datetime.datetime'>curr_time.year# 2019 <class 'int'>curr_time.month# 7 <class
  • 2024-08-08代码随想录算法训练营第63天 | SPFA算法优化+变式
    94.城市间货物运输Ihttps://kamacoder.com/problempage.php?pid=1152Bellman_ford队列优化算法(又名SPFA)https://www.programmercarl.com/kamacoder/0094.城市间货物运输I-SPFA.html95.城市间货物运输IIhttps://kamacoder.com/problempage.php?pid=1153bellman_ford之判
  • 2024-07-30排序 floyd 拓扑排序
    //排序.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。///**https://www.acwing.com/problem/content/345/给定n个变量和m个不等式。其中n小于等于26,变量分别用前n的大写英文字母表示。不等式之间具有传递性,即若A>B且B>C,则A>C。请从前往后遍
  • 2024-07-22反转链表
    注意:反转结束后,从原来的链表上看,\(pre\)指向反转这一段的末尾,\(cur\)指向反转这一段后续的下一个节点。206.反转链表/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}
  • 2024-07-20单目和RGB-D稠密建图
    文章目录单目稠密建图立体视觉稠密深度估计更新深度图极线搜索块匹配RGB-D稠密建图点云地图从点云重建网格八叉树地图其他类型的地图地图的用处:定位、导航、避障、重建、交互。导航、避障、重建使用的是稠密地图。单目稠密建图缺点:双目、和移动单目相机,都可
  • 2024-07-19泛型类型代码
    packagemainimport( "fmt")//List表示一个可以保存任何类型的值的单链表。typeList[Tany]struct{ next*List[T] valT}//Add添加一个新节点到链表的末尾func(list*List[T])Add(valT){ newNode:=&List[T]{val:val} iflist.next==nil{
  • 2024-07-16代码随想录算法训练营第23天 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
    代码随想录算法训练营第22天|669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树修剪二叉搜索树:https://leetcode.cn/problems/trim-a-binary-search-tree/description/代码随想录:https://programmercarl.com/0669.修剪二叉搜索树.html#
  • 2024-07-151100. 抓住那头牛
    //1100.抓住那头牛.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。//#include<iostream>#include<queue>#include<map>usingnamespacestd;/*https://www.acwing.com/problem/content/1102/农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴
  • 2024-07-101575 二叉苹果树
    //1575:【例1】二叉苹果树.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。///*http://ybt.ssoier.cn:8088/problem_show.php?pid=1575https://loj.ac/p/10153有一棵二叉苹果树,如果数字有分叉,一定是分两叉,即没有只有一个儿子的节点。这棵树共N个节点,标号
  • 2024-07-10138. 随机链表的复制
    138.随机链表的复制递归和哈希表时间&空间复杂度O(n)复杂链表的特点是每个节点除了有一个指向下一个节点的指针外,还有一个随机指针可能指向链表中的任意节点或null。通过递归和哈希表的方式,能够确保每个节点只被复制一次,并且正确地复制了next和random指针。/*//Definitionf
  • 2024-07-08反转链表
    目录L206反转链表题目描述题解方法一:迭代方法二:递归L92反转链表II题目描述题解方法一:一遍扫描方法二:穿针引线L25K个一组反转链表题目描述题解方法一:模拟L206反转链表题目描述给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例1:示例2:题解方法一:迭代假
  • 2024-07-06代码随想录算法训练营第二天 | 203.移除链表元素 707.设计链表 206.反转链表
    代码随想录算法训练营第二天|203.移除链表元素707.设计链表206.反转链表进入链表章节,就要和虚拟头结点(dummyhead)打交道了,还要注意边界条件和空指针异常移除链表元素题目链接/文章讲解/视频讲解::https://programmercarl.com/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1%A
  • 2024-07-03cJSON:解析JSON
    解析数组将JSON数组解析并存储到自定义的结构体组合的单链表中,打印单链表中所有的结点数据。例如:[{"name":"Zhao","age":18},{"name":"Qian","age":19},{"name":"Sun","ag
  • 2024-06-22LeetCode:经典题之206、92题解及延伸
    系列目录88.合并两个有序数组52.螺旋数组567.字符串的排列643.子数组最大平均数150.逆波兰表达式61.旋转链表160.相交链表83.删除排序链表中的重复元素389.找不同目录系列目录206.反转链表92.反转链表II类和结构体访问修饰符206.反转链表
  • 2024-06-22abc359_G Sum of Tree Distance 题解
    题目链接:Atcoder或者洛谷先考虑暴力,显然是枚举整棵树的路径,这个枚举复杂度显示是\(O(n^2)\),还不考虑计算\(f(i,j)\),考虑使用点分治优化枚举复杂度:\(O(n\log{n})\)。接下来考虑如何计算每条路径的\(f(i,j)\),注意到\(f(i,j)\):当且仅当\(a[i]=a[j]\)时,答案加上\(dis(i,j