杨成和科勒文从浣熊镇逃离出来,便找到了最近的医院。
诊疗室里,一位身穿白大褂的主治医师正坐在桌前,仔细端详着X光检测结果。
“这位科勒文先生并无大碍”,医生发话了。
“左臂肌肉拉伤,右臂脱臼,大概是用力过猛的缘故”。
“但杨先生,你的问题就比较严重了”,医生抬了抬眼镜,盯着杨成,看得杨成一阵发毛。
“你体质较弱,全身多处有病毒感染,如果不及时诊治,有生命危险”。
“呃...”,杨成可不想变成丧尸。
“你先自己看看检测结果”,医生丢过来一份文件。
“现在你体内有4种不同感染程度的部位”。
“轻微感染的用小写字母c表示”。
“轻度感染的用大写字母C表示”。
“健康而且可以用药物的非重要部位用除c以外的小写字母表示”。
“健康而且不能用药物的重要部位用除C以外的大写字母表示”。
“现在的关键是用药问题”,医生顿了顿,继续说道。
“凡是感染的部位都必须用药”。
“健康的重要部位不能用药,否则容易导致功能衰竭”。
“轻度感染的部位,为了防止扩散,必须在相邻部位也用药”。
杨成拿起文件一看,发现上面是一个字符串:
aaaaBCbbbcd
“杨先生,是这样的”。
“我们医院缺少相关设备,具体用药部位就需要你来判断了”,医生脸上一副“你懂的”表情。
“好的”,杨成眨巴着眼睛,接下了任务。
上面的需求,其实总结起来,只有两条:
1.遇到小写字母c,必须用药。
2.遇到大写字母C,必须用药,而且必须检测C左右两边的字符(相邻字符)。如果左右两边字符是小写字母(健康的非重要部位),也必须用药,是大写字母(健康的重要部位),则不能用药。
具体算法可以通过一趟循环来实现。
那么应用到上面的字符串,可以发现:
1.第一个大写字母C,左侧字符是大写字母B,无须用药。
2.第一个大写字母C,右侧字符是小写字母b,必须用药。
3.第一个小写字母c,必须用药。
杨成将结果写在文件上:
{“6“:“C“,“7“:“b“,“10“:“c“}
意思是,字符串从左到右数,第6个大写字母C,第7个小写字母b,第10个小写字母c,这些部位必须用药。
“写的很详细啊年轻人”,医生看了看。
“那就结账吧!”
“叮!恭喜您完成了相关任务!”
“当前积分142分,击败了全球43%的玩家,请您再接再厉!”