计算器程序的功能设计
一般计算器功能如下:
- 第一次出现的变量赋值语句,即为变量定义;
- 计算表达式的值。
这两个功能,看似简单,可实际要考虑的还很多,例如:变量是否有作用域的限制啊,合法变量名的规则,表达式中支持的运算符种类啊,每一种运算符的优先级,等等。这些需要考虑的细节,每一个都会给我们的项目增加一点点难度。
为了把难度控制在一个可以实现的范围,我们对计算器功能做进一步的细致描述,同时也是降低项目实现难度,重新修订的功能定义如下:
今天看了天气,不是很热,和女朋友计划去龙潭水乡玩一玩。
坐车大概花了一个半小时,因为是快速公交,时间上节约了大概半小时。
到达指定地点后,哇,人很少,很有江南水乡的气息,和小学语文课本上见到的一样呢。
到处都是桥,路面凹凸不平,水面上的荷花很好看,景区内也有穿着汉服拍照的小哥哥小姐姐。
我和她选择了一些人比较少的地方取景,摆姿势,不得不说,自己私底下看了看讲拍摄的文章,还是很有用,女朋友夸我拍照技术也进步了,哈哈。(可想而知以前在拍照上打击的有多惨~~~)
滑动区间最大值,就是指在固定区间长度的前提下,在一个序列上,从前到后滑动这个区间窗口,每次窗口内部的最大值,就组成了滑动区间最大值。
例如,给你如下包含 8 个数字的序列,区间长度设置为 3:
1 | [6 4 2] 10 3 8 5 9 -> 6 |
滑动区间从数字 6 开始出发,每次向右移动一个数字,同时把左边的一个数字丢出去,保持区间长度为 3,最后移动到数字 9 停止。可以看到,这个序列共包含 8 个数字,所以最后形成的滑动区间最大值共有 6 个,依次是 6、10、10、10、8、9。