LeetCode121:买卖股票的最佳时机
题目描述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 方法1:暴力循环,时间复杂度过高,无法通过所有样例 class
题目描述:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 方法1:暴力循环,时间复杂度过高,无法通过所有样例 class
题目描述:一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 方法1:求得该数组的前缀和数组,题目就变成了买卖股票的最佳时机(前缀和数组类比为股票价格) 不断遍历数组计算前缀和。当前的前缀和(卖出价格)减去之前的前缀和的最小值(买入价格),就得到了
头文件:#include <unordered_set> 注:如果访问map[key],key不存在,会返回value的默认值,比如value是对象,返回NULL 常用操作: unordered_map<int,int> map;
题目描述:长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点,构造这个链表的深拷贝。深拷贝应该正好由 n 个全新节点成,其中每个新节点的值都设为其对应的原节点的值,复制链表中的指针都不应指向原链表中的节点 。 难点:遍历无法构造random
Vue项目结构 Vue页面框架 对于8080端口,经常被占用,可以去修改默认的8080端口。修改vue.config.js文件的内容,添加如下代码:
题目描述:给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 方法1:使用unordered_set class Solution { public: ListNode *detectCycle(ListNode *head) {
头文件:#include <unordered_set> 介绍: 1、不再以键值对的形式存储数据,而是直接存储数据的值 ; 2、容器内部存储的各个元素的值都互不相等,且不能被修改; 3、不会对内部存储的数据进行排序,set会排序 常用操作: unordered_set<int> set; *it的操
头文件:#include<stack> 常用操作: stack<int> q; //以int型为例 int x; q.push(x); //将x压入栈顶 q.top(); /
题目描述:给你一个链表的头节点 head ,判断链表中是否有环。 方法1:慢指针每次移动一步,快指针每次移动两步,如果有环最后一定会相遇 class Solution { public: bool hasCycle(ListNode *head) { if(!head ||
题目描述:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点 方法1:快指针先走n步,两个指针再一起走,直到快指针的下一个节点为空,此时慢指针指向删除节点的前一个节点 class Solution { public: ListNode* removeNthFromEnd(Lis