LeetCode121:买卖股票的最佳时机

题目描述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 方法1:暴力循环,时间复杂度过高,无法通过所有样例 class


LeetCode53:最大子数组和

题目描述:一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 方法1:求得该数组的前缀和数组,题目就变成了买卖股票的最佳时机(前缀和数组类比为股票价格) 不断遍历数组计算前缀和。当前的前缀和(卖出价格)减去之前的前缀和的最小值(买入价格),就得到了


unordered_map

头文件:#include <unordered_set> 注:如果访问map[key],key不存在,会返回value的默认值,比如value是对象,返回NULL 常用操作: unordered_map<int,int> map;


LeetCode138:随机链表的复制

题目描述:长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点,构造这个链表的深拷贝。深拷贝应该正好由 n 个全新节点成,其中每个新节点的值都设为其对应的原节点的值,复制链表中的指针都不应指向原链表中的节点 。 难点:遍历无法构造random


Vue框架

Vue项目结构 Vue页面框架 对于8080端口,经常被占用,可以去修改默认的8080端口。修改vue.config.js文件的内容,添加如下代码:


LeetCode142:环形链表2

题目描述:给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 方法1:使用unordered_set class Solution { public: ListNode *detectCycle(ListNode *head) {


unordered_set

头文件:#include <unordered_set> 介绍: 1、不再以键值对的形式存储数据,而是直接存储数据的值 ; 2、容器内部存储的各个元素的值都互不相等,且不能被修改; 3、不会对内部存储的数据进行排序,set会排序 常用操作: unordered_set<int> set; *it的操


stack

头文件:#include<stack> 常用操作: stack<int> q; //以int型为例 int x; q.push(x); //将x压入栈顶 q.top(); /


LeetCode141:环形链表1

题目描述:给你一个链表的头节点 head ,判断链表中是否有环。 方法1:慢指针每次移动一步,快指针每次移动两步,如果有环最后一定会相遇 class Solution { public: bool hasCycle(ListNode *head) { if(!head ||


LeetCode19:删除链表倒数第n个节点

题目描述:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点 方法1:快指针先走n步,两个指针再一起走,直到快指针的下一个节点为空,此时慢指针指向删除节点的前一个节点 class Solution { public: ListNode* removeNthFromEnd(Lis