- 博客(69)
- 收藏
- 关注
原创 DFS图遍历+路径地图
题号:剑指 Offer II 112. 最长递增路径 难度:hard 题目:给定一个 m x n 整数矩阵 matrix ,找出其中。对于每个单元格,你可以往上,下,左,右四个方向移动。不能 在 对角线 方向上移动或移动到 边界外(即不允许环绕)。最长递增路径 的长度。
2023-04-13 13:36:32
293
原创 the signing failure problem in the first logining of gitlab-ce and solution sharing
【代码】the signing failure problem in the first logining of gitlab-ce and solution sharing。
2022-09-23 10:38:56
163
原创 关于在Ubuntu 18.04.06中 安装 gitlab 中报错404notfound 的解决方案
我使用的是清华源,在网上寻找的方法安装的版本时间较早,清华源进行了镜像更新,需要重新设置gitlab-ce.list。
2022-09-23 08:53:49
1605
原创 关于postfix configuration修改变更的问题
正常如上图所示,但是后续想要修改比较困难,而且重装又改不了,导致没有任何变化。此时需要先移除postfix,再移除相关包,再安装就可以变更配置了。
2022-09-22 17:03:43
779
原创 关于安装ubuntu 18.06.6 系统时出现[Errno 5] - Input/output error 错误的解决方案
ps iso格式文件在电脑硬盘中是NTFS形式存储,在传输过程中,甚至在不同介质中,因存放或运输会导致数据簇改变或丢失,导致数据与原本的出现了差异,导致在安装过程报驱动器或者硬盘故障。3.尽量选择质量好的u盘,传输口选择usb3.0协议的。2.u盘存储格式默认是FAT,而硬盘下载是以NTFS。安装过程就比较顺利了,没出差错。1.下载的iso镜像损坏。
2022-09-22 10:58:52
2568
原创 二位数组中的查找(时间复杂度优化为O(N))
解题思路从矩阵左下角开始走路,小于target向上走一步,大于target向右走一步class Solution {public: //从矩阵左下角开始走路,小于target向上走一步,大于target向右走一步 bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { int n = matrix.size(),m; if(n>0){
2022-04-28 09:15:52
177
转载 anacoda+vscode安装教程
写在前面为了录制这篇教程,我又把电脑上的 Python 卸载了🕹,重新安装 Anaconda 和 VSCode ,并录制动图。文章每个步骤介绍的很详细,只要跟着GIF动图一步一步操作就可以,适合零基础的朋友,通过这篇文章可以让你学会自己运行 Py 文件、以及一些发布出来的 Py 代码段,因为封装成 EXE 不方便调试和更新,同时也是让更多人迈出学习 Python 的第一个门槛,后续也会写一些 Python 爬虫案例,用于工商信息查询、地址查询、快递查询等,所以为了这些工具,赶紧学起来吧📘。一、Anaco
2022-04-26 14:19:07
5604
原创 求有序矩阵的第k小元素 (二分思路)
解题思路二分查找,将二维转化为一维,check函数用于求解小于等于target的元素数量与k的关系代码class Solution {public: //统计满足小于target的数组元素数量,超过k返回true,没超过k返回false bool check(vector<vector<int>>& matrix, int cnt,int target,int k){ int num = 0; int i = cnt.
2022-04-22 12:55:38
298
原创 Dijkstra算法实现求解图矩阵最短路(使用C#)
思路:单源顶点的最短路径扩散using System;using System.Collections.Generic;using System.Text;using static System.Console;namespace DataStructure.graph{ class Adjacency2//邻接矩阵初始化 { public static int INFINTE = 99999; public int[,] graph_ma.
2022-04-09 19:01:58
547
原创 买卖股票的最佳时机 II(贪心思想)
问题:算法复杂度o(n)class Solution {public: int maxProfit(vector<int>& prices) { int cnt = prices.size(); int maxm=0; for(int i=1;i<cnt;i++){ int diff = prices[i]-prices[i-1]; maxm = max(m.
2022-04-05 18:14:46
92
原创 求多源路径的最短路(使用Floyd算法)
思路:Floyd对算法最短路做枚举更新using System;using System.Collections.Generic;using System.Text;using static System.Console;namespace DataStructure.graph{ class Adjacency { static int INFINUTE = 99999; public int[,] graph_matrix; ..
2022-04-05 17:43:01
277
原创 自定义实现栈(使用链表)
代码如下:using System;using System.Collections.Generic;using System.Text;using static System.Console;namespace DataStructure{ class Nodes//链表节点类 { public int data; public Nodes next; public Nodes(int data) { ..
2022-04-05 14:46:57
536
原创 自定义实现堆栈(使用数组)
代码如下:using System;using System.Collections.Generic;using System.Text;using static System.Console;namespace DataStructure{ class ArrayStack//数组栈 { private int[] stack; private int top; public ArrayStack(int..
2022-04-05 14:43:37
237
原创 寻找数组中的众数(使用集合)
解题思路用map记录次数,对照检查,输出符合的数组代码:class Solution {public: unordered_map<int,int> map;//集合 vector<int> majorityElement(vector<int>& nums) { vector<int> res;//返回数组 int cnt = nums.size(),level=cnt/3;
2022-04-04 22:28:33
659
原创 根据前序和中序序列构造二叉树
思路:数据结构中的分治思想,更具前序和中序递归构造二叉树class Solution {private: unordered_map<int, int> index;public: TreeNode* myBuildTree(const vector<int>& preorder, const vector<int>& inorder, int preorder_left, int preorder_right, int i.
2022-04-03 19:36:25
1653
1
原创 恢复二叉搜索树(使用栈)
给你二叉搜索树的根节点 root ,该树中的 恰好 两个节点的值被错误地交换。请在不改变其结构的情况下,恢复这棵树 。class Solution {public: void recoverTree(TreeNode* root) { stack<TreeNode*> stk;//栈 TreeNode* x = nullptr; TreeNode* y = nullptr; TreeNode* pred = nu.
2022-04-02 19:50:57
366
原创 迷宫寻路算法(使用栈)
使用c#思路:从起点出发,走0代表可达路径,并用数字2标记已走路径,死胡同就弹栈,直到终点using System;using System.Collections.Generic;using System.Text;using static System.Console;namespace DataStructure{ public class Node//路径节点 { public int x, y; public Node next;.
2022-04-02 17:59:06
442
原创 git合并更新内容数据到远程主分支
思路:首先在本地创建一个分支my,对my做本地内容更新和提交。接着转换到master分支,pull更新到最新版本,合并分支到主分支内,push到远程主分支。1.首先加入新增文件如mazePathFind文件夹2.打开git bash,创建新分支此时工作区文件缓存状态如图3.对更新文件做一个提交4.接着,切换到主分支,pull更新5.对分支予以合并注意,此时爆出一个合并冲突,没有成功执行6.我们对文件再次进行新增和提交7.分支合并成功,我们做一个push可以看.
2022-04-02 17:51:30
292
原创 java自实现hashmap数据结构
Design a HashMap without using any built-in hash table libraries.Implement the MyHashMap class:MyHashMap() initializes the object with an empty map. void put(intkey, int value) inserts a (key, value) pair into the HashMap. If thekey already exists in .
2022-01-21 23:55:20
470
原创 20多行代码设计简单双值存储哈希set结构
题目:Design a HashSet without using any built-in hash table libraries.Implement MyHashSet class:void add(key) Inserts the value key into the HashSet. boolcontains(key) Returns whether the value key exists in the HashSet ornot. void remove(key) Removes t.
2022-01-21 14:09:29
315
原创 虚拟头节点指针法实现链表删除指定值的节点
Given the head of a linked list and an integer val, remove all the nodes of the linked list that has Node.val == val, and return the new head./** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * Lis
2022-01-20 21:54:46
409
原创 左右指针-滑动窗口法找出没有重复字母的最长子串
找出没有重复字母的最长子串思路:通过map集合记录每个不同字符的索引位置,右指针每次移动时检索该索引,如果之前出现了,更新字符的索引值,并用max标识记录下循环中出现的最长字符串长度。class Solution { public int lengthOfLongestSubstring(String s) { if (s.length()==0) return 0; HashMap<Character, Integer> map = new .
2022-01-16 11:39:15
181
原创 双指针法去除链表指定位置的节点
Given the head of a linked list, remove the nth node from the end of the list and return its head.思路:双指针法,用p指针标记要删除位置,当先指针抵达尾部时,删除p标记的位置节点/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * List
2022-01-15 23:34:01
431
原创 双指针法剪枝链表
快慢指针标记链表中点,折半链表思路:快指针速度为2,慢指针速度为1,当快指针走完链表时,返回慢指针地址/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} *
2022-01-15 23:18:22
126
原创 反转字符串中的单词
对字符串的单词进行反转思路,利用过程双指针定位每个单词起始坐标,首尾反转。class Solution {public: string reverseWords(string s) { int n = s.length(); //反转起始 for(int i=0,start;i<n-1;){ //标记反转单词的初始位置 start = i; //i指针到达单词结尾
2022-01-15 23:03:33
148
原创 指针变化复制带随机指针的链表
给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。例如,如果原链表中有 X 和 Y 两个节点,其中 X.random --> Y 。那么在复
2022-01-04 01:18:36
400
原创 双指针法分割链表
将链表分割成左边大于某个值,右边小于某个值的链表,时间复杂度O(N)/** * 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,
2022-01-03 23:13:50
650
原创 Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value
mybatis-generator的反向生成xml生成bean出错:原因是generator生成时,重复生成了,内容,去生成的xml文件中查询id是否重复,对其删除即可,另附上永久解决办法,生成时不会产生重复: <table tableName="Behospital" catalog="hospital"> <property name="useActualColumnNames" value="true"/> <prop.
2022-01-03 16:28:46
2120
原创 双指针判别法保留链表只出现一次的节点
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。返回同样按升序排列的结果链表。 示例 1:输入:head = [1,2,3,3,4,4,5]输出:[1,2,5]示例 2:输入:head = [1,1,1,2,3]输出:[2,3]/** * Definition for singly-linked list. * struct ListNode { * int v..
2022-01-03 01:15:45
82
原创 指针偏移法删除链表重复元素
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。返回同样按升序排列的结果链表。 示例 1:输入:head = [1,1,2]输出:[1,2]示例 2:输入:head = [1,1,2,3,3]输出:[1,2,3]/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *nex..
2022-01-03 00:58:36
434
原创 双指针法删除链表指定位置节点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode.
2022-01-03 00:46:49
130
原创 巧用单循环链表解决旋转链表问题
问题:给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1:输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3]示例 2:输入:head = [0,1,2], k = 4输出:[2,0,1]/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; *
2022-01-03 00:27:33
241
原创 K 个一组翻转链表(递归算法)
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。进阶:你可以设计一个只使用常数额外空间的算法来解决此问题吗?你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 示例 1:输入:head = [1,2,3,4,5], k = 2输出:[2,1,4,3,5]示例 2:输入:head = [1,2,3,4,5], k = 3输出:[3
2022-01-03 00:01:36
113
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人