上次机试, 有个大程序中有求最值这个环节,最后阴沟翻船, 哎。
为了简化, 我仅仅用伪代码来示意,我的程序为:
- int max = p[0];
- int min = p[0];
-
- int i = 0;
- for(i = 0; i < n; i++)
- {
- if(p[i] is valid)
- {
- if(max < p[i])
- {
- max = p[i];
- }
-
- if(min > p[i])
- {
- min = p[i];
- }
- }
- }
正确的程序为:
- int max = 0;
- int min = maxInt;
-
- int i = 0;
- for(i = 0; i < n; i++)
- {
- if(p[i] is valid)
- {
- if(max < p[i])
- {
- max = p[i];
- }
-
- if(min > p[i])
- {
- min = p[i];
- }
- }
- }