Num 121 买卖股票的最佳时期 Best Time to Buy and Sell Stock

class Solution {
public:
int maxProfit(vector<int>& prices) {
int len=prices.capacity();
if(prices.capacity()==) return ;
int minn=prices[];
int maxn=prices[];
int ans=;
for(int i=;i<=len-;i++)
{
maxn=prices[i];
minn=prices[i];
for(int j=i+;j<=len-;j++)
{
if(prices[j]>maxn)
maxn=prices[j];
}
ans=max(ans,maxn-minn);
}
return ans;
}
};

Num 122 买卖股票的最佳时期 || Best Time to Buy and Sell Stock ||

先上一个正确但是TLE的方法。。。

class Solution {
public:
int maxProfit(vector<int>& prices) {
int ans[];
int len=prices.capacity();
if(len==||len==) return ;
memset(ans,,sizeof(ans));
if(len==) return max(,prices[]-prices[]);
ans[len-]=max(,(int)(prices[len-]-prices[len-]));
for(int j=len-;j>=;j--)
{
for(int i=;i<len--j;i++)
{
ans[j]=max(ans[j],max(ans[j+i],ans[j+i]+(int)(prices[j+i]-prices[j])));
}
}
return ans[];
}
};

TLE 代码

默认里面带的max函数只能处理两个

另外这道题是贪心,刚开始重复计算tle了

class Solution {
public:
int maxProfit(vector<int>& prices) {
int ans=;
int len=prices.capacity();
for(int i=;i<len-;i++)
ans=ans+max(,prices[i+]-prices[i]);
return ans;
}
};

leetcode每日刷题计划-简单篇day11的更多相关文章

  1. leetcode每日刷题计划-简单篇day5

    刷题成习惯以后感觉挺好的 Num 27 移除元素 Remove Element 跟那个排序去掉相同的一样,len标记然后新的不重复的直接放到len class Solution { public: i ...

  2. leetcode每日刷题计划-简单篇day3

    收到swe提前批面试hhh算是ep挂了的后续 努力刷题呀争取今年冲进去! Num 21 合并两个有序链表 Merge Two Sorted Lists 注意新开的链表用来输出结果的是ListNode ...

  3. leetcode每日刷题计划-简单篇day1

    orzorz开始刷题 争取坚持每周平均下来简单题一天能做两道题吧 非常简单的题奇奇怪怪的错误orz越不做越菜 Num 7 整数反转 Reverse Integer 刚开始多给了一个变量来回折腾占地方, ...

  4. leetcode每日刷题计划-简单篇day12

    Num 125 验证回文串 Valid Palindrome 非常有收货的一道题嘻嘻嘻,本来是考试期间划水挑的题,坑点有点多 第一个是注意对temp1和temp2中途更新的判断 第二个是字符串频繁的作 ...

  5. leetcode每日刷题计划-简单篇day10

    跳题,不熟悉的留到周末再做. 保持冷静,不信画饼. num 100 相同的树 Same Tree 做法可能不是特别简洁,注意一下.最后判断完子树以后,要确定根的数值是一样的 然后在isleaf的判定先 ...

  6. leetcode每日刷题计划-简单篇day9

    Num 38 报数 Count and Say 题意读起来比较费劲..看懂了题还是不难的 注意最后的长度是sz的长度,开始写错写的len 在下次计算的时候len要更新下 说明 直接让char和int进 ...

  7. leetcode每日刷题计划-简单篇day6

    突发奇想&胡思乱想的一天 银行家算法证明错了并挂在黑板上的可怜希希 Num 53 最大子序和 Maximum Subarray O(n)的算法实现了,分治法有空补 class Solution ...

  8. leetcode每日刷题计划-简单篇day2

    今天数模比赛爆肝&操作系统大作业 脖子疼orz先把题过了保证flag不倒..个别细节回头看吧 Num 13 罗马数字转整数 Roman to Integer 一遍提交过,开始编译出了点问题 具 ...

  9. leetcode每日刷题计划-简单篇day13

    Num 169 先码,回头再说,摩尔算法... tle了 class Solution { public: int majorityElement(vector<int>& num ...

随机推荐

  1. Spring(转载一)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...

  2. 内联元素于与块元素的转换 相对定位、绝对定位以及fixed定位 Z轴覆盖

    今天上午学习了内联元素于与块元素的转换     个人觉的display:none将元素非常好用,可以配合当鼠标放到这里会出现. 转换成行内元素display: inline;  转换成块元素displ ...

  3. 软件开发者路线图梗概&书摘chapter1

    软件技能的概念 本书目的:尝试为软件开发的新颖方法整理出一份宣言 原因:定义泛化 从敏捷开发运动中学到的经验:理解支撑规则的底层因素 软件技能的愿景:价值的提取&希望的表达 价值体系: 1.基 ...

  4. [WC2006]水管局长

    原题链接 前言 搞不懂为什么要写LCT,搞不懂为什么要加强数据.像这道题是用父亲表示法来做的.虽然复杂度不是log,但是现在下面这份代码却是无论从空间,还是代码量,还是时间都是优秀不止一点. 而且这样 ...

  5. 经典问题----最小生成树(prim普里姆贪心算法)

    题目简述:假如有一个无向连通图,有n个顶点,有许多(带有权值即长度)边,让你用在其中选n-1条边把这n个顶点连起来,不漏掉任何一个点,然后这n-1条边的权值总和最小,就是最小生成树了,注意,不可绕成圈 ...

  6. JAVA基础搬运工

    1Java线程的6种状态及切换 https://blog.csdn.net/pange1991/article/details/53860651/ 2进程和线程的区别 https://www.cnbl ...

  7. CentOS7查看和关闭防火墙

    CentOS 7.0默认使用的是firewall作为防火墙 1.查看防火墙状态 firewall-cmd --state2.停止firewall systemctl stop firewalld.se ...

  8. 导出excel,并将数据返回给前端(包含权限判断)

    一.先写导出按钮接口 1.此接口对用户权限进行判断 2.此接口将前端的参数组合拼凑到下一个接口的url中去,用于条件筛选 3.用户有权限的情况下将用户的权限信息保存到redis中去,并将token写到 ...

  9. 如何安装私有 npm 包?

    安装私有 npm 包的步骤: 先安装私有 npm 包:npm install <npm包名> --registry=<npm包源> 然后运行npm install安装公共 np ...

  10. HTTPD三种工作模型

    HTTPD三种工作模型 MPM是apache的多道处理模块,用于定义apache对客户端请求的处理方式.在linux中apache常用的三种MPM模型分别是prefork.worker和event. ...