数据结构
junlaii
这个作者很懒,什么都没留下…
展开
-
寻找数组中的众数(使用集合)
解题思路用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 · 645 阅读 · 0 评论 -
根据前序和中序序列构造二叉树
思路:数据结构中的分治思想,更具前序和中序递归构造二叉树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 · 1578 阅读 · 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 · 350 阅读 · 0 评论 -
迷宫寻路算法(使用栈)
使用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 · 423 阅读 · 0 评论 -
git合并更新内容数据到远程主分支
思路:首先在本地创建一个分支my,对my做本地内容更新和提交。接着转换到master分支,pull更新到最新版本,合并分支到主分支内,push到远程主分支。1.首先加入新增文件如mazePathFind文件夹2.打开git bash,创建新分支此时工作区文件缓存状态如图3.对更新文件做一个提交4.接着,切换到主分支,pull更新5.对分支予以合并注意,此时爆出一个合并冲突,没有成功执行6.我们对文件再次进行新增和提交7.分支合并成功,我们做一个push可以看.原创 2022-04-02 17:51:30 · 272 阅读 · 0 评论 -
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 · 458 阅读 · 0 评论 -
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 · 305 阅读 · 0 评论 -
循环队列是一种顺序存储结构,首尾指针大小不一定
原创 2022-01-04 14:44:27 · 613 阅读 · 0 评论 -
双指针法分割链表
将链表分割成左边大于某个值,右边小于某个值的链表,时间复杂度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 · 634 阅读 · 0 评论 -
快速排序最坏情况时间复杂度
快排最坏情况O(n(n-1)/2)而顺序查找时间复杂度为o(n),最大值复杂度o(n-1)。堆排是O(nlogn)原创 2022-01-02 15:49:27 · 1919 阅读 · 0 评论 -
栈指针溢出问题
栈指针操作不可能超过50,当栈指针为50时,不可以再进行入栈操作,所以不能为51。所以为51时,元素个数不可能为0原创 2022-01-02 15:45:41 · 190 阅读 · 0 评论