【计划执行报告】Day6 04-05 C/C++刷题的一天
Day6 04-05 Leetcode上刷题的一天
这是我:计划执行的第6天
1.今日感想
- 今天状态有点不对,主要是蓝桥杯的第10题真的想了好久,把中午之后的节奏打乱了,以至于没有心思搞机器学习的有关内容了,于是今天大多数时间就用在久违的刷Leetcode题目上了。
2.计划执行报告
2.1近期计划(03-31-04-12)(有改动)
1.有所改动,貌似组内的大佬已经把所有工作承包了,而且报告日期推迟到了下周三,因此任务重心由“在4月12日之前准备好(推迟了)机器学习的最终报告——《畅想无监督学习》”变为了补充机器学习所需的数学知识(线性代数与概率统计)
2.完成专业课的作业(流体机械能转化、生物质能,新能源热利用可以往后稍稍);
3.备战蓝桥杯,为此:①1h左右的典型算法补充(不敢用这1小时刷题,真的是Time Killer);②程序设计知识补充:《程序员的面试笔记:C/C++、算法、数据结构篇》;③必要的练习与练题总结(比如时长1:30虚拟竞赛)
2.2今日计划表
今天节奏有点乱。
2.3实际时间分配
- 这是立计划以来第一次花大量时间练题,效果不太理想(主要是自己还是太菜,简单难度的题也要想很久,或许我不该点开Leetcode练习),6个小时内也就碰了4道题(包括蓝桥杯的第十题),现在竞技力还是很差的,当然这也是因为自己学的方法还是太少。
- 今天的娱乐时间超了一点点(不小心点开了ig的比赛,一去不复返)
|
|
3. Leetcode刷题记录
从记录可见已经半年左右没碰Leetcode了
目前还是挺菜的,一步一步来吧~
两周后有几场比赛,分别是蓝桥杯校内模拟赛&Leetcode春季编程大赛(去年的秋季编程大赛貌似就AC了一题,还是签到题,说多了都是泪),这两周还是以补充知识为主,练习为辅,有针对性地练题,如果还像今天这样随机选题做真的会哭的。。。
最后附上我做的题与我的题解吧,具体的解答思路附了链接。
1. No.860 柠檬水找零
这种题目举几个例子模拟一下就好了(然而我还是耗了将近20min)
我的解答:
bool lemonadeChange(vector<int>& bills) {
int counts[5]={0};
for(int i=0;i<bills.size();i++){
int cur=bills[i];
counts[cur/5]++;
if(cur==5) continue;
else if(cur==10){
if(counts[1]==0) //5
return false;
counts[1]--;
}
else if(cur==20){
if(counts[2]>0&&counts[1]>0){//10 5
counts[2]--;
counts[1]--;
}
else if(counts[1]>=3){
counts[1]-=3;
}
else
return false;
}
}
return true;
}
2.No122. 买卖股票的最佳时机 II
这道题是我随机随出来的,我还特意搞了个录屏录下我的全部解答过程,结果装X不成,最后只能投降。。。我是真没想到把可以把这些作为点画在一张图上,然后新世界地大门就敞开了(大量时间再想怎么构造一个STE,然而有关DP的问题也只是碰过一两道题就开始用,没系统学的后果)。
看了题解的思路后写的解答
int maxProfit(vector<int>& prices) {
if(prices.empty())
return 0;
int valley=prices[0];
int peak=prices[0];
int maximum=0;
for(int i=0;i<prices.size();i++){
while(i<prices.size()-1&&prices[i]>prices[i+1])
i++;
valley=prices[i];
while(i<prices.size()-1&&prices[i]<prices[i+1])
i++;
peak=prices[i];
maximum+=peak-valley;
}
return maximum;
}
另外还有一题暂时没做完,6个小时也就练了不到4题,效率极低,而且不是对点训练,效果很差,之后的练题一定要结合近期所学的知识。