1. 替换所有的问号(LC1576)
题目描述
解题思路
按照题目要求,双层循环,外层遍历字符串;内层从 a 到 z 依次尝试,与前后不等则填入。
代码实现
public String modifyString(String s) {
char[] ss = s.toCharArray();
int n = ss.length;
for (int i = 0; i < n; i++) {
if (ss[i] != '?') continue;
for (char ch = 'a'; ch <= 'z'; ch++) {
if ((i == 0 || ch != ss[i - 1]) && (i == n - 1 || ch != ss[i + 1])) {
ss[i] = ch;
break;
}
}
}
return new String(ss);
}
2. 提莫攻击(LC495)
题目描述
解题思路
计算两次'受到攻击'之间的差值 x:
x >= d,则ret += dx < d,则ret += x
最后要加上一个 d,表示最后一次'攻击'的时间。
代码实现
public int findPoisonedDuration(int[] timeSeries, int duration) {
;
( ; i < timeSeries.length; i++) {
timeSeries[i] - timeSeries[i - ];
ret += (x >= duration) ? duration : x;
}
ret += duration;
ret;
}


