栈与队列part01
关于栈和队列 STL 中的 stack 容器提供了一众成员函数以供调用,其中较为常用的有: 元素访问 st.top() 返回栈顶 修改 st.push() 插入传入的参数到栈顶 st.pop() 弹出栈顶 容量 st.empty() 返回是否为空 st.size() 返回元素数量 STL 中的 st…
字符串Part02
151.翻转字符串里的单词 这一题主要的难点其实在于移除多余的空格. 如果想要让空间复杂度位O(1),也就是不采用辅助空间的话,我们应该想到双指针法. 整体思路大概是,快指针定位到单词的位置,再将单词插入慢指针所指向的位置,除了慢指针指向开头时,每次将快指针的值(也就是单词)赋给慢指针时,要先加一个…
字符串Part01
344.反转字符串 class Solution { public: void reverseString(vector<char> &s) { for (int i = 0, j = s.size() - 1; i < s.size() / 2; i++, j--) { …
哈希表Part02
前置知识 C++中map,有三种类型: 映射 底层实现 是否有序 数值是否可以重复 能否更改数值 查询效率 增删效率 std::map 红黑树 key有序 key不可重复 key不可修改 O(log n) O(log n) std::multimap 红黑树 key有序 key可重复 key不可修改…
哈希表Part01
前置知识 在C++中,set 和 map 分别提供以下三种数据结构,其底层实现以及优劣如下表所示: 集合 底层实现 是否有序 数值是否可以重复 能否更改数值 查询效率 增删效率 std::set 红黑树 有序 否 否 O(log n) O(log n) std::multiset 红黑树 有序 是 …
链表Part02
24.两两交换链表中的节点 第一次尝试 超时了,推测是循环的问题 仔细想想好像是更新指针的问题,这一版代码的逻辑是先将curNode指向后两位的结点,然后再把nextNode指向curNode,然后再将curNode更新为curNode->next也就是curNode的后两位,再把nextNo…
Macos通过homebrew安装maven
安装 在shell下输入 brew install maven 然后你的maven就装好了,在终端中输入 mvn -version 即可查看相关信息. 我用的是Macbook M1Pro,我的mvn主目录在/opt/homebrew/Cellar/maven/3.9.8/libexec,配置文件在/…
链表Part01
203.移除链表元素 初次尝试 class Solution { public: ListNode *removeElements(ListNode *head, int val) // ListNode *是返回类型 { ListNode *sentinelNode = new ListNode(…
数组Part02
977.有序数组的平方 我的写法,几乎是一次成功 class Solution { public: vector<int> sortedSquares(vector<int> &nums) { vector<int> newArray = nums; in…
code-server绑定二级域名
这里使用nginx的反向代理来实现. 在宝塔面板的网站新添加一个反向代理,域名就填你的二级域名,目标地址填相对应服务的端口. 然后来到域名解析,增添一条解析,主机记录设置为你的二级域名,记录类型设置为A,记录值设置为你的主机ip即可 !!!!!!!!你以为这样就结束了吗??? 以上内容是我下午17.…