民居点亮
Posted laydown
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了民居点亮相关的知识,希望对你有一定的参考价值。
/**
* 给定一个Str,只由‘X‘和‘.‘组成,X表示墙,不可放灯,无需点亮,.表示居民,可以放灯,需要点亮
* 如果灯放在i位置,可以让i、i-1、i+1三个位置被点亮,返回如果点亮str中所有需要点亮的位置,最少需要几盏灯
*/
public class Light {
public static int minLight(String road) {
char[] str = road.toCharArray();
int index = 0;
int light = 0;
while (index < str.length) {
if (str[index] == ‘X‘) {
index++;
} else { // i -> .
light++;
if (index + 1 == str.length) {
break;
} else {
if (str[index + 1] == ‘X‘) {
index = index + 2;
} else {
index = index + 3;
}
}
}
}
return light;
}
}
/* 如有意见或建议,欢迎评论区留言;如发现代码有误,欢迎批评指正 */
以上是关于民居点亮的主要内容,如果未能解决你的问题,请参考以下文章