leetcode309 最佳买卖股票时机含冷冻期
题意题目链接
计算最大利润(在约束条件下):
不能同时参与多笔交易(必须在再次购买前出售掉之前的股票)
卖出股票后,无法在第二天买入股票(冷冻期为一天)
方法这道题是最近遇见最难处理的一道DP题。
我们可以试想对于每一天的i,都有可能是三种状态:
不持股且当天没有卖出$dp[i][0]$;
持股$dp[i][1]$;
不持股且当天卖了$dp[i][2]$;
初始化:
$dp[0][0]$ = 0;
$dp[0][1]$ = -prices[0];
$dp[0][2]$ = 0;
分析:
第i天不持股且没有卖出,所以有两种可能:
i-1天不持股且当天没有卖出
i-1天不持股但是当天卖出去了
所以: $dp[i][0]=max(dp[i-1][0],dp[i-1][2])$
第i天持股,也有两种可能:
昨天持股,今天继承昨天的
昨天不持股,今天买入。这里的前提是昨天一定没有卖,如果卖了则今天就无法交易了
所以:$dp[i][1]=max(dp[i-1][1],dp[i-1][0]-p[i])$
第i天不持股且当天卖出了 == $dp[i][2]=dp[i-1][1] ...
无题
突然回想到那份数学卷子,可能在22岁以前都没有想过,第一道第二道选择题会出错,而且恰好分数线就是388,似乎命运真的在冥冥之中和自己开了一个玩笑,不,可能不是玩笑而是命运给予你的反馈吧,毕竟一直以来的考试确实挺眷顾自己的,没有过这种致命失误,运气不好的同时也是自己没有做好万分的准备,可惜的是这次并没有眷顾自己。
可能在调剂后,心里都并没有多难受,但是现在我想这份遗憾真的可能要伴随我两年了,但是我更希望自己能做出改变,让它最好只有一年,而不是几年后的哪一天还会想起今天的遗憾,当然更想的是提升自己的能力和内涵,做自己想做的那一个优秀的自己。
数组与链表
数组,链表数组:
所有元素都连续的存储于一段内存中,且每个元素占用的内存大小相同。这使得数组具备了通过下标快速访问数据的能力。但连续存储的缺点也很明显,增加容量,增删元素的成本很高,时间复杂度均为 O(n)。增加数组容量需要先申请一块新的内存,然后复制原有的元素。如果需要的话,可能还要删除原先的内存。删除元素时,需要移动被删除元素之后的所有元素。
优点:可以根据偏移实现快速的随机读写。
缺点:扩容,增删元素极慢。
参考链接
test1
新的一篇文章友链
娱乐板块
字数统计
评论
自动打卡
兰大自动打卡参考博主伍尔夫的猫的博文如何通过Python自动完成移动校园“每日健康”打卡和博主CookiePie的文章Python—利用Requests实现每日微信自动打卡,拿来主义可耻,所以还是自己写一篇博客记录一下解决问题的过程,主要是为了学习,顺便激励自己好好写论文,坚持写代码,早日去实习。
一、前期准备1、抓包不细说了,安装Fiddler或者在浏览器端的话直接用谷歌开发者工具。(我是在浏览器端完成的,小程序端会复杂些)
2、安装selenium我用的也是Pycharm,参考这个博主的Python配置Selenium+Chrome环境和Selenium+PhantomJS环境
3、配置Phantomjs如果参考上面安装过程中测试代码没有问题就可以跳过了
1driver = webdriver.Chrome()
如果会报错,那么奖励你,继续看Python配置Selenium+Chrome环境和Selenium+PhantomJS环境,其中,第5点说明了无界面的浏览器包PhantomJS的应用。如果还会报错,可以将selenium的版本修改为了selenium2.48.0版本,亲测 ...
java基础复习
JAVASE面向对象面向过程,强调的是功能行为,以函数为最小单位,考虑怎么做。面向对象,将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。
封装,继承,多态
类是对一类事物的描述,是抽象的、概念上的定义
对象是实际存在的该类事物的每个个体,因而也称为实例(instance)
属性=成员变量=field=域、字段
方法=成员方法=函数=method
创建类的对象=类的实例化=实例化类
局部变量没有默认初始化值
重载:
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
可变个数形参的方法:
数据类型 … 变量名
可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载。
可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。
可变个数形参在方法的形参中,必须声明在末尾。
可变个数形参在方法的形参中,最多只能声明一个可变形参。
变量赋值:
基本数据类型:此时赋值的是变量所保存的数据值。
引用数据类型:此时赋值的是变量所保存的数据的地址值
test
多电脑使用hexo博客
【Hexo异常】fatal: in unpopulated submodule ‘.deploy_git’
Window下完全卸载删除Nodejs
nvm安装(Windows篇)https://www.jianshu.com/p/13c0b3ca7c71
如果先安装node,再安装nvm,可能会出现修改后,版本仍然未变的情况,尝试了网上很多方法,建议还是卸载重新安装降低版本的node.js
hexo+github迁移电脑
hexo个人博客迁移从一台电脑上迁移至另外一台电脑
实现步骤
复制blog文件夹
在新的电脑上下载新的git和nodejs
npm install
安装hexo,重新部署。问题1.nodejs版本过高 下载低版本13.14。2.Please make sure you have the correct access rights and the repository exists.(一般是公钥出问题)
git config –global user.name “你的GitHub用户名”git config –global user.email “你的GitHub注册邮箱”
删除.ssh文件夹(直接搜索该文件夹)下的known_hosts(手动删除即可,不需要git)
生成ssh密钥文件:
ssh-keygen -t rsa -C “你的GitHub注册邮箱”
打开GitHub_Settings_keys 页面,新建new SSH Key,把密钥复制上去。
3.遇见404问题参考解决方法
markdown
空格输入
空行输入  



