上周总结:
javaWeb学习中,了解到了web方面的java基础,学习了断点调试和jutil测试工具,eclipse快捷键,如Ctrl+1快速修复,ctrl+鼠标点击查看源码,ctrl+shift+t搜索源码,ctrl+t显示继承关系,ctrl+alt+上下:复制上一行,alt+上下:上下行换位置 。 了解了反射机制中反射类,方法,和字段的具体方法,反射用于编写框架。
在算法学习上,解决了带分数,求黄金分割点100位小数,幸运数,错误票据,振兴中华和马虎的算式6道题。
带分数问题,http://blog.youkuaiyun.com/zhangpengyu321/article/details/8964803。用1-9这9个数组成带分数的可能性,如:100 可以表示为带分数的形式:100 = 3 + 69258 / 714。此题 设n = i+j/k; n由用户给出,j=(n-i)*k.这样只需穷举另外两个变量,又因为j>k, 可知k最大为4位数, 加上限制条件后穷举并判断,还要去掉有0的情况。
求黄金分割点小数点后100位http://blog.youkuaiyun.com/zhangpengyu321/article/details/8934767,由于黄金分割点是根5-1除2, 则求出根5的值再利用java类BigDecimal进行大数减和大数除即可。由于Math.sqrt方法最大位数达不到100位,则自行用数学方法求出根5。查找资料,最后使用牛顿迭代求根法。设函数x^2 -5 = 0,求方程的根。利用牛顿公式, Xn+1 = Xn - f(Xn)/f'(Xn) ,再根据X和Xn+1的差值确定精度。
幸运数,http://blog.youkuaiyun.com/zhangpengyu321/article/details/8954609。找出规律得出所有幸运数再进行取部分即可。在判断过程,在每次去除要求的数集时,先将去掉的数改为0,最后再整体去0,免得单个去除之后,一次循环数的位置变化。
错误票据,http://blog.youkuaiyun.com/zhangpengyu321/article/details/8953420。首先要把几段数字组合进一个HashSet之后再进行处理。判断重号和缺号时,逐个加入判断重号,依据是否已经含有。从最小值判断到最大值可找到缺号。
马虎的算式,http://blog.youkuaiyun.com/zhangpengyu321/article/details/8927693。求如27 * 594 = 297 * 54 式的总个数。10a+b * 100c+10d+e
= 100a+10d+b * 10c+e; 设5个未知数5层for循环,每层由1-9.算出可能的值后减去出现重复数的值(HashSet)和前后相同值(if 10a+b == 10c + e)。
振兴中华,http://blog.youkuaiyun.com/zhangpengyu321/article/details/8931363。采用树的深度遍历,每一步都有两种可能的走法,向下和向右,根据这个条件,写递归,if(row+1<4) skipCount(row+1,col,index+1); if(col+1<5) skipCount(row,col+1,index+1);
其它方面,我负责带创新团队的三个新人,培养他们的同时也在锻炼自己的领导能力和管理能力。我觉得基础和视野比较重要,在过去的几个星期里,除了让他们了解业界动向,我给他们的任务是完成基础篇的学习。本周要进行测试(去年我们的机考内容),目标是放假之前做完二级课题并继续向前学习进阶篇内容。
本周计划:javaWeb学习 继续更新5天,5道java组蓝桥杯决赛真题,数据结构复习线性结构。