今天工作很忙,除了午休的时间,甚至都抽不出其他时间来学习,其实整个这一周压力都比较大,结果导致晚上回来之后就会比较想休息,学习的意愿和效率降低了,随着工作越来越忙碌,重新找到工作和学习之间的平衡肯定会变得越来越紧迫,既不能压力太大导致精力耗尽,效率降低,也不能搁置进度否则永远都无法改变现状,会不断在忙碌而不顺心的工作中挣扎而没有足够的力量摆脱,确实要好好构思一下。
今日进度:
1.坚持刷题
2.利用午休时间阅读《人月神话》
3.坚持锻炼
4.意识到目前的学习模式是以工作空闲为前提的,一旦工作忙碌起来可能需要重新平衡学习-休息工作,怎样既保证学习进度又不过分劳累,目前想到的是利用午休时间阅读专业书籍,利用等地铁等电梯的时间阅读电子书,加快日常活动的动作,适当减少睡眠时间,工作忙碌的时候尽量稳住情绪,被打断之后能快速切换状态,甚至可以在周末制定下一周的碎片化时间学习计划,比如阅读某个主题的博文这样被打断之后可以快速衔接的事情,把刷题这种需要集中精力的事情放到午休。
5.对于目前现状的不满反过来也会形成一股强烈的改变现状的动力,即越是感到痛苦,越是能够通过自律来不断提升自己,直到能力足以改变现状,从某种意义上来说,如果是在一个非常舒适的岗位上,说不定反而会没有继续努力的意愿,就是因为对现状的无力,才迫切地想要提升实力啊。
6.坚持读小王子,在艰难的日子里治愈内心
7.坚持记录
学习笔记:
1.maven项目包结构:
dao层和db交互,dao层上一层上service层,service再上一层是controller层,util包存放工具类,vo-view object/value object,封装pojo,pojo数据库对象,common存放常量
2.Arrays.fill()设置数组初始值
3.343. 整数拆分
给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。
返回你可以获得的最大乘积。
示例 1:
输入: n = 2
输出: 1
解释: 2 = 1 + 1, 1 × 1 = 1。
解题思路:将当前数字分割成两部分的和,找出这两部分的积、当前最大的积、第一部分与第二部分最大积的乘积,这三个数中的最大值,即为当前数字积最大的分割。使用一个数组来存储每个数字计算的结果,从第一个可以分割为两个正整数的和的数2开始,自底向上地找到n的最大分割积
class Solution {
public int integerBreak(int n) {
int[] memo = new int[n+1];
Arrays.fill(memo, -1);
memo[1] = 1;
for(int i=2; i<=n; i++){
for(int j=1; j<=i-1; j++){
memo[i] = max3(memo[i], j*(i-j), j*memo[i-j]);
}
}
return memo[n];
}
public int max3(int a, int b, int c){
return Math.max(a, Math.max(b, c));
}
}
今天又很晚了,早点休息吧,明天继续加油!