LC 数组中两个数的最大异或值 题目代码// 参考这个链接:https://leetcode-cn.com/problems/maximum-xor-of-two-numbers-in-an-array/solution/qian-zhui-shu-by-kai1314/// https://leetcode-cn.com/problems/maximum-xor-of-two-numbers-in-an-array/solution/li-yong-yi-huo-yun-suan-de-xing-zhi-tan-xin-suan
回文对 题目代码// https://leetcode-cn.com/problems/palindrome-pairs/solution/guan-fang-de-da-an-kan-de-wo-tou-teng-hao-shi-da-b/// 主要思路:第一种思路:马拉车算法,这个没看// 第二种思路:枚举前缀 与 后缀// 1:当前字符串反转后的字符串还在当前字符串中// 2: abxxx反转后,判断xxx是否为回文字符串,并且ba是否在原来字典中// 3: xxxab反转后,判断ab是否在原
三维点拟合平面-最小二乘-C++ 原理参考代码此处求解的平面方程为:z = ax + by + c//作者:dwy//日期:2019/07/09// 用途:最小二乘拟合平面#include<iostream>#include<opencv.hpp>#include<cmath>using namespace std;using namespace cv;void creatTestData(vector<Point3f> &output){ RNG rng
138. 复制带随机指针的链表 题目**注意:**题目是真的绕!!!当然了也是自己不够熟练指针的题目!!!继续加油骚年!!!代码/*// Definition for a Node.class Node {public: int val; Node* next; Node* random; Node(int _val) { val = _val; next = NULL; random = NULL; }};*/// 不
2. 两数相加 代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(..
21. 合并两个有序链表 题目代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), nex
328. 奇偶链表 题目代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), nex
203.移除链表元素 题目代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ // 注意事项:遇到链表的问题,建议加入虚拟头节点,确保链表不为空class Solution {public: ListNode* removeElements(L
19. 删除链表的倒数第N个节点 题目:代码:// 方法1:两次遍历,先确定链表的长度。// 之后再根据n序号,删除特定指针// 此方法需要判断链表长度为1的情况 、 删除头指针、删除尾指针三种特殊情况// 方法2:快慢指针// 1 : 要设置虚拟节点dummpyHead 指向 head// 2 : 设定双指针fast 和 slow,初始都指向虚拟头节点dummpy Head// 3 : 移动fast指针,直到fast 与 slow之间间隔n个节点// 4 : 同时移动fast 与 slow节点,直到fast为unul
160. 相交链表 题目:代码:// 方法1: 简单暴力搜索// 方法2:快慢指针// 消除两指针距离差的方法1:两个指针分表指向不同指针的头部,判断其中一个指针是否走到结尾,// 如果两个指针存在交集,另一个与末端距离则是两链表的 长度差。再通过长链表指针先走的方式消除长度差,最终两链表即 可同时走到相交点。// 消除两指针距离差的方法2 : 拼接两指针:长指针距离: a + c,短指针长度: b + c// 何时性相遇: a + c + b = b + c + a// 此时就会相遇// 走到尽头见不到你
142. 环形链表 II 答案// 代码解析:https://leetcode-cn.com/problems/linked-list-cycle-ii/solution/linked-list-cycle-ii-kuai-man-zhi-zhen-shuang-zhi-/// a为快指针距离链表入口的距离!!!,b为链表环的节点数目// 慢指针走的路程是:a + nb就能到链表环入口// 当快慢指针相遇时,此时慢指针还差a步就能到达链表环入口(第一次相遇时慢指针已经走了nb步)// 快指针指到开头即可/** * D.
DELL电脑G7 7588更换NVME固态 + 安装Windows10+Ubuntu20.04.1双系统记录 由于DELL G7出厂时候,安装的固态空间容量很小。并且是走的SATA协议。速度很慢。所以笔者最近升级了下电脑固态硬盘,并趁机将Ubuntu也装进固态里,过程比较坎坷,特此记录一下。Windows镜像参看此博客笔者通过上文方法中的保留正版系统的方法,制作了windows系统镜像Ubuntu镜像笔者使用的是下文的镜像ubuntu-20.04.1-desktop-amd64.iso下载地址制作镜像软件rufus-3.8安装步骤首先安装Windows系统制作Ubuntu镜像时选择MBR格
06 - 递归 如何理解递归?举个例子周末去到女朋友去看电影,但是你们不知道现在自己处于第几排,而且电影院里面很黑,看不清,也没法数。此时如何做呢?此时递归就派上用场了。你可以问前面一排人他在第几排,只要在他的数字上加上1,就是自己现在在的排数了!但是前面的人也看不清,所以他也问前面的人。这样一排一排的问,直到问到第一排的人,说我在第一排。这样一排一排的把数字传回来,你就知道答案了!!!递归原型非常标准的递归分解过程可分为:去的过程叫递...
super point特征点检测 https://zhuanlan.zhihu.com/p/69431053https://zhuanlan.zhihu.com/p/69492701https://zhuanlan.zhihu.com/p/69515306核心创新点根据虚拟的三维物体学习角点,最后网络输出的为每一像素点为特征点的检测概率。结果类似下图所示!!!对原始图像进行几何变换得到新图片。确知位姿关系的图片对之后再对图像对提取特征点,计算得到图像对之间的位姿关系这样就能将 确知位姿关系 与 计算位姿关系 构建位姿误差的
05 - 队列 队列定义先进者先出,是队列最突出的特征!!!队列是一种操作受限的线性数据结构队列的类型顺序队列用数组实现的队列// 用数组实现的队列public class ArrayQueue { // 数组:items,数组大小:n private String[] items; private int n = 0; // head表示队头下标,tail表示队尾下标 private int head = 0; private int tail = 0; // 申请一个大小
据结构与算法之美 - 04 栈 栈的定义后进者先出,先进者后出,这就是典型的栈结构!!!当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,我们选择栈这种数据结构!!!如何实现一个栈顺序栈用数组来实现的链式栈用链表实现的栈的应用支持动态扩容的顺序栈底层依赖一个支持动态扩容的数组当数组满了以后,就申请一个更大的数组,将原来的数据搬移到新数组中栈在函数调用中的应用int main() { int a = 1; int ret = 0; int r
合并区间 题目解题思路对乱序数组进行排序,变为升序数组。方便后面进行查找先定义一个i指向起始位置,并保存i指向的数值大小从i的下一个指向j开始遍历,找到不满足条件的区间合并区间,并将i跳到j的位置代码class Solution {public: // 题目:类似求一个并集 // 排序 + 双指针 vector<vector<int>> merge(vector<vector<int>>& intervals) {